public ServiceResult <string> SecondStepLogin(MembershipAuthenticationBindingModel model) { return(new ServiceResult <string>(StatusCode.Ok) { Data = "MockData" }); }
public ServiceResult <string> SecondStepLogin(MembershipAuthenticationBindingModel model) { IRestRequest LoginRequest = new RestRequest("api/Authentication", method: Method.PATCH); LoginRequest.AddJsonBody(model); IRestResponse <ServiceResult <string> > Result = RestProvider.GetInstance().Patch <ServiceResult <string> >(LoginRequest); if (Result != null) { RestProvider.Renew().AddDefaultHeader("Authorization", Result.Data.Data); return(Result.Data); } throw new Exception(); }
public ServiceResult <string> Patch(MembershipAuthenticationBindingModel request) { return(_authenticationCommand.SecondStepLogin(request)); }
public ServiceResult <string> SecondStepLogin(MembershipAuthenticationBindingModel model) { var UserId = base.AuthenticationInformation.UserId; if (!UserId.HasValue) { return new ServiceResult <string>() { Message = new InvalidTokenMessage(), StatusCode = StatusCode.Forbidden } } ; var User = _userRepository.GetMany(P => P.Id == UserId).FirstOrDefault(); if (User == null) { return new ServiceResult <string>() { Message = new InvalidTokenMessage(), StatusCode = StatusCode.NotFound } } ; RoleEnum Role; var RoleConversionResult = Enum.TryParse <RoleEnum>(model.Role, true, out Role); if (!RoleConversionResult) { return new ServiceResult <string>() { Message = new InvalidRoleMessage(), StatusCode = StatusCode.BadRequest } } ; string Token = ""; switch (Role) { case RoleEnum.SuperAdmin: SuperAdminMembership SuperAdminMembership = _superAdminMembershipRepository.GetMany(P => P.OrganizationId == model.OrganizationId && P.SuperAdmin.Role.UserId == UserId).FirstOrDefault(); if (SuperAdminMembership == null) { return new ServiceResult <string>() { Message = new MembershipNotFoundMessage(), StatusCode = StatusCode.NotFound } } ; Token = _jsonWebTokenEngine.GenerateToken(UserId.Value, User.Username, model.OrganizationId, SuperAdminMembership.Organization.Title, Role.ToString("g")); break; case RoleEnum.Admin: AdminMembership AdminMembership = _adminMembershipRepository.GetMany(P => P.OrganizationId == model.OrganizationId && P.Admin.Role.UserId == UserId).FirstOrDefault(); if (AdminMembership == null) { return new ServiceResult <string>() { Message = new MembershipNotFoundMessage(), StatusCode = StatusCode.NotFound } } ; Token = _jsonWebTokenEngine.GenerateToken(UserId.Value, User.Username, model.OrganizationId, AdminMembership.Organization.Title, Role.ToString("g")); break; case RoleEnum.Secretary: SecretaryMembership SecretaryMembership = _secretaryMembershipRepository.GetMany(P => P.OrganizationId == model.OrganizationId && P.Secretary.Role.UserId == UserId).FirstOrDefault(); if (SecretaryMembership == null) { return new ServiceResult <string>() { Message = new MembershipNotFoundMessage(), StatusCode = StatusCode.NotFound } } ; Token = _jsonWebTokenEngine.GenerateToken(UserId.Value, User.Username, model.OrganizationId, SecretaryMembership.Organization.Title, Role.ToString("g")); break; case RoleEnum.Collector: CollectorMembership CollectorMembership = _collectorMembershipRepository.GetMany(P => P.OrganizationId == model.OrganizationId && P.Collector.Role.UserId == UserId).FirstOrDefault(); if (CollectorMembership == null) { return new ServiceResult <string>() { Message = new MembershipNotFoundMessage(), StatusCode = StatusCode.NotFound } } ; Token = _jsonWebTokenEngine.GenerateToken(UserId.Value, User.Username, model.OrganizationId, CollectorMembership.Organization.Title, Role.ToString("g")); break; case RoleEnum.Delivery: DeliveryMembership DeliveryMembership = _deliveryMembershipRepository.GetMany(P => P.OrganizationId == model.OrganizationId && P.Delivery.Role.UserId == UserId).FirstOrDefault(); if (DeliveryMembership == null) { return new ServiceResult <string>() { Message = new MembershipNotFoundMessage(), StatusCode = StatusCode.NotFound } } ; Token = _jsonWebTokenEngine.GenerateToken(UserId.Value, User.Username, model.OrganizationId, DeliveryMembership.Organization.Title, Role.ToString("g")); break; case RoleEnum.Customer: CustomerMembership CustomerMembership = _customerMembershipRepository.GetMany(P => P.OrganizationId == model.OrganizationId && P.Customer.Role.UserId == UserId).FirstOrDefault(); if (CustomerMembership == null) { return new ServiceResult <string>() { Message = new MembershipNotFoundMessage(), StatusCode = StatusCode.NotFound } } ; Token = _jsonWebTokenEngine.GenerateToken(UserId.Value, User.Username, model.OrganizationId, CustomerMembership.Organization.Title, Role.ToString("g")); break; default: break; } return(new ServiceResult <string>(Token)); } } }