Account API
- using System;
- using System.Collections.Generic;
- using System.IdentityModel.Tokens.Jwt;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Security.Claims;
- using System.Web.Http;
- using WMS_WebAPI.Models;
- using WMS_WebAPI.Models.Context;
-
- namespace WMS_WebAPI.Controllers
- {
- [Authorize]
- public class AccountController : ApiController
- {
- WMS_Entities _context;
- AccountController()
- {
- _context= new WMS_Entities();
- }
-
- /// <summary>
- /// user name and password filed data required
- /// </summary>
- /// <param name="user">Username,Password required</param>
- /// <returns></returns>
-
- [HttpPost]
- [Route("api/Login")]
- [AllowAnonymous]
- public IHttpActionResult Login([FromBody] LoginModel user)
- {
- if (!ModelState.IsValid)
- {
- return NotFound();
- }
-
- var model = _context.Accountuser_Login(user.Username, user.Password).ToList();
- //FirstOrDefault();
- if (model != null)
- {
-
- if (model[0].UserID > 0)
- {
- string token = createToken(user.Username);
- ApplicationUser appuser = new ApplicationUser();
- appuser.UserID = Convert.ToInt32(model[0].UserID);
- appuser.CompanyID = Convert.ToInt32(model[0].CompanyID);
- appuser.Token = token;
- //appuser.sploginlist = model;
- var users = _context.Users.FirstOrDefault(s => s.UserID == appuser.UserID);
- appuser.RoleID = users.RoleID;
- var yearList = _context.Finacialyear_Select().ToList();
- var currentUser = new { user = appuser, warehouseList = model,finantialYears= yearList };
-
- return Ok(currentUser);
- }
-
- return Ok(false);
-
- }
- else
- {
- return NotFound();
- }
-
- }
-
- /// <summary>
- /// Get GetfinantialYears Info
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [Route("api/finantialYears")]
- public IHttpActionResult GetfinantialYears()
- {
- var data = _context.Finacialyear_Select().ToList();
- if (data == null)
- {
- return NotFound();
- }
-
- return Ok(data);
- }
-
- private string createToken(string username)
- {
- //Set issued at date
- DateTime issuedAt = DateTime.UtcNow;
- //set the time when it expires
- DateTime expires = DateTime.UtcNow.AddDays(7);
-
-
- var tokenHandler = new JwtSecurityTokenHandler();
-
- //create a identity and add claims to the user which we want to log in
- System.Security.Claims.ClaimsIdentity claimsIdentity = new ClaimsIdentity(new[]
- {
- new Claim(ClaimTypes.Name, username)
- });
-
- const string sec = "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";
- var now = DateTime.UtcNow;
- var securityKey = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(System.Text.Encoding.Default.GetBytes(sec));
- var signingCredentials = new Microsoft.IdentityModel.Tokens.SigningCredentials(securityKey, Microsoft.IdentityModel.Tokens.SecurityAlgorithms.HmacSha256Signature);
-
-
- //create the jwt
- var token =
- (JwtSecurityToken)
- tokenHandler.CreateJwtSecurityToken(issuer: "http://localhost:50191", audience: "http://localhost:50191",
- subject: claimsIdentity, notBefore: issuedAt, expires: expires, signingCredentials: signingCredentials);
- var tokenString = tokenHandler.WriteToken(token);
-
- return tokenString;
- }
-
- }
- }
Users API
- using System;
- using System.Data;
- using System.Data.SqlClient;
- using System.Linq;
- using System.Web.Http;
- using WMS_WebAPI.Models;
- using WMS_WebAPI.Models.Context;
-
- namespace WMS_WebAPI.Controllers
- {
- public class UsersController : ApiController
- {
- WMS_Entities _context = new WMS_Entities();
- CommanListToDataTableConverter ConvertDataTable = new CommanListToDataTableConverter();
- string connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
- [HttpGet]
- [Route("api/Users/Users_Select")]
- public IHttpActionResult Users_Select()
- {
- try
- {
- var data = _context.Users_Select().ToList();
- if (data == null)
- {
- return NotFound();
- }
- return Ok(data);
- }
- catch (System.Exception)
- {
-
- return BadRequest();
- }
-
- }
-
-
- [HttpPost]
- [Route("api/Users/Users_Insert")]
- public IHttpActionResult Users_Insert(cls_Users obj)
- {
-
- DataTable dtLcls_TD_Users = new DataTable();
- dtLcls_TD_Users = ConvertDataTable.ConvertToDataTable(obj.Lcls_TD_Users);
-
- DataSet ds = new DataSet();
- try
- {
- using (SqlConnection connection = new SqlConnection(connectionstring))
- {
- using (SqlCommand command = new SqlCommand("Users_Insert", connection))
- {
-
- command.CommandType = System.Data.CommandType.StoredProcedure;
- SqlParameter[] param = new SqlParameter[9];
- param[0] = new SqlParameter("@UserID", Convert.ToInt32(obj.UserID));
- param[1] = new SqlParameter("@UserName", Convert.ToString(obj.UserName));
- param[2] = new SqlParameter("@UserDetail", Convert.ToString(obj.UserDetail));
- param[3] = new SqlParameter("@Password", Convert.ToString(obj.Password));
- param[4] = new SqlParameter("@RoleID", Convert.ToInt32(obj.RoleID));
- param[5] = new SqlParameter("@UserTypeID", Convert.ToInt32(obj.UserTypeID));
- param[6] = new SqlParameter("@CreatedBy", Convert.ToInt32(obj.CreatedBy));
-
- param[7] = new SqlParameter("@CreatedBy", Convert.ToInt32(obj.CreatedBy));
-
- param[8] = new SqlParameter("@UserCompany", dtLcls_TD_Users);
- param[8].SqlDbType = SqlDbType.Structured;
-
-
- command.Parameters.AddRange(param);
- connection.Open();
- using (SqlDataAdapter da = new SqlDataAdapter(command))
- {
- da.Fill(ds);
- }
- connection.Close();
- }
- return Ok(ds);
- }
- }
- catch (System.Exception ex)
- {
- return BadRequest(ex.Message);
- }
-
- }
-
- }
- }