public async Task<StatusData<LoginResponse>> Login(LoginRequest request) { var data = new StatusData<LoginResponse> { Status = SystemDbStatus.Selected, Data = new LoginResponse() }; var result = new StatusData<LoginResponse> { Status = SystemDbStatus.Selected }; var user = new User { UsernameEmail = request.UserName, Password = request.Password, DeviceId = request.DeviceId, Session = new Session { Replay = true, DeviceType = request.DeviceType, PushCode = request.PushCode, TransportIp = request.Ip, ModelName = request.ModelName } }; var response = await Task.Factory.StartNew(() => Client.UserService.Auth(user)).ConfigureAwait(false); data.Status = (SystemDbStatus)response.DbStatusCode; if (!data.Status.IsOperationSuccessful()) { //switch ((SystemAccountStatus)response.DbStatusCode) //{ // case SystemAccountStatus.UserNotExist: // case SystemAccountStatus.WrongPassword: // case SystemAccountStatus.NotYetApproved: // case SystemAccountStatus.Locked: // case SystemAccountStatus.Deactivated: // { // data.Status = SystemDbStatus.Unauthorized; // data.Data.LoginStatus = (SystemAccountStatus)response.DbStatusCode; // data.Message = response.DbStatusMsg; // return data; // } //} //data.Status = SystemDbStatus.Unauthorized; data.SubStatus = response.DbSubStatusCode; data.Message = response.DbStatusMsg; return data; } result.Data = new LoginResponse { UserId = Convert.ToInt32(response.UserId), UserName = response.UserName, UserTypeId = (response.UserInfoPerson == null ? SystemUserType.Business : SystemUserType.Person), Token = response.Session.SessionToken }; result.Data.AuthorizationToken = Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}:{2}:{3}:{4}:{5}", result.Data.UserId, result.Data.UserName, (byte)result.Data.UserTypeId, request.DeviceType, request.DeviceId, result.Data.Token))); return result; }
public Task<StatusData<LoginResponse>> Login(LoginRequest request) { return _jUnitOfWork.Account.Login(request); }