public HttpResponseMessage MobileLogin(LoginAPIViewModel loginInfo)
        {
            LoginAPIViewModel loginViewModel = new LoginAPIViewModel();

            try
            {
                Validate("Username", loginInfo.Email);
                Validate("Password", loginInfo.Password);
                Validate("AccountName", loginInfo.AccountName);

                ThirdPartyClient thirdPartyClient = new ThirdPartyClient();
                var domainName = loginInfo.AccountName + ConfigurationManager.AppSettings["STDOMAIN"].ToString();
                thirdPartyClient = thirdPartyClientService.GetCLientSecretKeyByDomainName(domainName);
                if (thirdPartyClient != null)
                {
                    var tokens = GetAccessTokenRespnse(loginInfo.Email, loginInfo.Password, thirdPartyClient.ID);
                    if (!string.IsNullOrEmpty(tokens.AccessToken))
                    {
                        UserViewModel userViewModel = userService.GetUserDetailsByEmailAndAccountId(new GetUserRequest(1)
                        {
                            AccountId = thirdPartyClient.AccountID,
                            UserName  = loginInfo.Email
                        }).User;
                        loginViewModel.AccessToken = tokens.AccessToken;
                        loginViewModel.AccountId   = thirdPartyClient.AccountID;
                        loginViewModel.UserModel   = userViewModel;
                    }
                    else
                    {
                        return(Request.CreateResponse(tokens.Json)); //loginViewModel.ErrorMessage = tokens.Error;
                    }
                }
                else
                {
                    LoginError error = new LoginError();
                    error.error = "Invalid Account";
                    return(Request.CreateResponse(error));
                }
            }
            catch (Exception ex)
            {
                loginViewModel.ErrorMessage = ex.Message.Replace("[|", "").Replace("|]", "");
            }
            return(Request.CreateResponse(loginViewModel));
        }
Beispiel #2
0
        public HttpResponseMessage POST(LoginAPIViewModel model)
        {
            IAccountBusiness accountBusiness = new AccountBusiness();

            ResponseLoginAPIViewModel response = new ResponseLoginAPIViewModel();

            if (model != null)
            {
                APMS.DataAccess.Account acc = accountBusiness.CheckUserAPI(model);

                if (acc != null)
                {
                    IDeviceBusiness deviceBusiness = new DeviceBusiness();
                    response.Channel      = acc.Channel;
                    response.DeviceIdList = deviceBusiness.GetDeviceIdListByAccountId(acc.AccountId);
                    response.Token        = acc.Token;
                    return(Request.CreateResponse(HttpStatusCode.OK, response));
                }
            }
            return(Request.CreateResponse(HttpStatusCode.Unauthorized));
        }