예제 #1
0
        public async Task <IActionResult> GetCatalogTypes(CatalogResourceParameters ctgResourcePrms)
        {
            var catalogs = await _catalogSvc.GetCatalogTypesAsync(ctgResourcePrms);

            if (catalogs is null)
            {
                _logger.LogInformation(Resource.NotFound);

                return(NotFound(ResponseError.Create(Resource.NotFound)));
            }

            var pagedList = catalogs.ToPagedList(ctgResourcePrms);

            var previousPageLink = pagedList.HasPrevious ? _linkHelper.GenerateLink(RESTAPI.Route.GET_GATALOGS, ctgResourcePrms, ResourceUriType.PreviousPage) : null;
            var nextPageLink     = pagedList.HasNext ? _linkHelper.GenerateLink(RESTAPI.Route.GET_GATALOGS, ctgResourcePrms, ResourceUriType.NextPage) : null;

            var paginationMetadata = new
            {
                totalCount  = pagedList.TotalCount,
                pageSize    = pagedList.Pagesize,
                currentPage = pagedList.CurrentPage,
                totalPages  = pagedList.TotalPages,
                previousPageLink,
                nextPageLink
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(paginationMetadata));

            var responseObj = pagedList.ToViewModelList <CatalogType, CatalogTypeDto>();

            return(Ok(ResponseSuccess.Create(responseObj)));
        }
예제 #2
0
        /// <summary>
        /// Get teams data by page index and page size.
        /// </summary>
        /// <param name="page">Query page index.First is 1.</param>
        /// <param name="pageSize">Data size per page.</param>
        /// <returns></returns>
        public Task <string> GetTeams(int page, int pageSize = 30)
        {
            return(Task.Run(() =>
            {
                if (page < 1)
                {
                    return ResponseFail.ExpectationFailed(message: "页数应该大于等于1");
                }

                if (pageSize < 1)
                {
                    return ResponseFail.ExpectationFailed(message: "每页数量应该为正数");
                }

                try
                {
                    var excludePre = context.Teams.ToList().Take((page - 1) * pageSize);
                    var result = context.Teams.ToList().Except(excludePre).Take(pageSize);
                    return ResponseSuccess.Json(result);
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }
            }));
        }
예제 #3
0
        public ResponseSuccess DELETE(int SkillId)
        {
            ResponseSuccess responseObject = new ResponseSuccess();

            try
            {
                using (var db = new LinkedinContext())
                {
                    var entity = db.Skills.Where(x => x.Id == SkillId).FirstOrDefault();
                    if (entity == null)
                    {
                        throw new Exception("skill_not_found");
                    }
                    db.Skills.Remove(entity);
                    db.SaveChanges();
                    responseObject.Success = true;
                }
            }
            catch (Exception ex)
            {
                responseObject.Success = false;
                responseObject.Details = ex.Message;
            }
            return(responseObject);
        }
예제 #4
0
        /// <summary>
        /// Update user data in the team.
        /// </summary>
        /// <param name="dto">Data to update.</param>
        /// <returns></returns>
        public Task <string> UpdateUser(Infrastructure.DTO.UserTeamDTO dto)
        {
            return(Task.Run(() =>
            {
                try
                {
                    var teamWithUser = context.TeamWithUsers.ToList().Find(t => t.TeamId == dto.TeamId && t.UserId == dto.UserId);
                    if (teamWithUser == null)
                    {
                        return ResponseFail.NoContent();
                    }

                    var role = context.UserRoles.Where(t => t.Id == dto.RoleId);
                    if (role.Count() == 0)
                    {
                        return ResponseFail.ExpectationFailed(message: "用户角色值异常");
                    }

                    teamWithUser.UserRole = dto.RoleId;

                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                return ResponseSuccess.Json();
            }));
        }
예제 #5
0
        public ResponseSuccess POST(Skill request, int userId)
        {
            ResponseSuccess responseObject = new ResponseSuccess();

            try
            {
                /* veri kontrolleri yapılacak */
                using (var db = new LinkedinContext())
                {
                    var user = db.Users.Where(x => x.Id == userId).Include(x => x.Skills).First();
                    request.UserId = userId;
                    if (request.Id == 0)
                    {
                        user.Skills.Add(request);
                    }
                    else
                    {
                        var oldEntity = user.Skills.Where(x => x.Id == request.Id).First();
                        oldEntity.Name = request.Name;
                    }
                    db.SaveChanges();
                    responseObject.Success = true;
                }
            }
            catch (Exception ex)
            {
                responseObject.Success = false;
                responseObject.Details = ex.Message;
            }
            return(responseObject);
        }
예제 #6
0
        /// <summary>
        /// Get team users by team id.
        /// </summary>
        /// <param name="teamId">Team id.</param>
        /// <returns></returns>
        public Task <string> GetUsers(int teamId)
        {
            return(Task.Run(() =>
            {
                var result = from teamWithUsers in context.TeamWithUsers.ToList()
                             join teams in context.Teams.ToList() on teamWithUsers.TeamId equals teams.Id
                             join users in context.Users.ToList() on teamWithUsers.UserId equals users.Id
                             join roles in context.UserRoles.ToList() on teamWithUsers.UserRole equals roles.Id
                             where teamWithUsers.TeamId == teamId
                             select new UserTeamDTO
                {
                    TeamId = teamId,
                    TeamName = teams.TeamName,
                    TeamDescription = teams.TeamDescription,
                    UserId = users.Id,
                    UserName = users.Name,
                    RoleId = teamWithUsers.UserRole,
                    RoleDescription = roles.RoleDescription
                };

                if (result.Count() == 0)
                {
                    return ResponseFail.NoContent();
                }

                return ResponseSuccess.Json(result);
            }));
        }
예제 #7
0
        /// <summary>
        /// Update user's data.
        /// </summary>
        /// <param name="dto">User's data.</param>
        /// <returns></returns>
        public Task <string> UpdateUser(Infrastructure.DTO.UserDTO dto)
        {
            return(Task.Run(() =>
            {
                var user = context.Users.ToList().Find(t => t.Id == dto.Id);
                if (user == null)
                {
                    return ResponseFail.Json("", "无此用户,操作失败", 204);
                }
                else if (string.IsNullOrEmpty(dto.Name))
                {
                    return ResponseFail.ExpectationFailed(message: "昵称/姓名不能为空");
                }

                user.Name = dto.Name;
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                return ResponseSuccess.Json();
            }));
        }
예제 #8
0
        /// <summary>
        /// Update team data.
        /// </summary>
        /// <param name="team">Team's data.</param>
        /// <returns></returns>
        public Task <string> UpdateTeam(Infrastructure.DTO.TeamDTO team)
        {
            return(Task.Run(() =>
            {
                if (team == null)
                {
                    return ResponseFail.Json("", "数据异常,无法更新");
                }

                var teamObj = context.Teams.ToList().Find(t => t.Id == team.Id);

                if (teamObj == null)
                {
                    return ResponseFail.NoContent();
                }

                teamObj.TeamName = team.TeamName;
                teamObj.TeamDescription = team.TeamDescription;
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                return ResponseSuccess.Json("");
            }));
        }
예제 #9
0
        /// <summary>
        /// Get team data by team id.
        /// </summary>
        /// <param name="teamId">Team's id.</param>
        /// <returns></returns>
        public Task <string> GetTeam(int teamId)
        {
            return(Task.Run(() =>
            {
                var result = from team in context.Teams.ToList()
                             join teamuser in context.TeamWithUsers.ToList() on team.Id equals teamuser.TeamId
                             join user in context.Users.ToList() on teamuser.UserId equals user.Id
                             where team.Id == teamId && teamuser.UserRole == 1
                             select new TeamDTO
                {
                    Id = team.Id,
                    TeamName = team.TeamName,
                    TeamDescription = team.TeamDescription,
                    CreatorId = teamuser.UserId,
                    CreatorName = user.Name
                };

                if (result.Count() == 0)
                {
                    return ResponseFail.NoContent();
                }

                if (result.Count() > 1)
                {
                    return ResponseFail.ExpectationFailed(message: "数据异常,非唯一,无法操作");
                }

                return ResponseSuccess.Json(result.First());
            }));
        }
예제 #10
0
        public static ResponseSuccess Create(object data, string message)
        {
            var response = new ResponseSuccess()
            {
                Success = true,
                Data    = data,
                Message = message
            };

            return(response);
        }
예제 #11
0
        public void TestResponseSuccess_Json()
        {
            string       json = ResponseSuccess.Json();
            ResponseJson obj  = JsonConvert.DeserializeObject <ResponseJson>(json);

            Assert.IsTrue(obj.Status);

            json = ResponseSuccess.Json("123");
            ResponseJson <string> objStr = JsonConvert.DeserializeObject <ResponseJson <string> >(json);

            Assert.IsTrue(objStr.Status);
            Assert.AreEqual(objStr.Data, "123");
        }
예제 #12
0
        /// <summary>
        /// Get user data by user's id.
        /// </summary>
        /// <param name="userId">User's id.</param>
        /// <returns></returns>
        public Task <string> GetUser(int userId)
        {
            return(Task.Run(() =>
            {
                var result = context.Users.ToList().Find(t => t.Id == userId);
                if (result == null)
                {
                    return ResponseFail.Json("", "无此用户数据");
                }

                return ResponseSuccess.Json(result);
            }));
        }
예제 #13
0
        /// <summary>
        /// Create a new user data.
        /// </summary>
        /// <param name="dto">New user's data.</param>
        /// <returns></returns>
        public Task <string> CreateUser(Infrastructure.DTO.RegisteDTO register)
        {
            return(Task.Run(() =>
            {
                if (register == null)
                {
                    return ResponseFail.Json("", "注册信息未填写");
                }
                else if (string.IsNullOrEmpty(register.UserName))
                {
                    return ResponseFail.Json("", "用户名未填写");
                }
                else if (string.IsNullOrEmpty(register.Name))
                {
                    return ResponseFail.Json("", "昵称/真实姓名未填写");
                }
                else if (string.IsNullOrEmpty(register.Password))
                {
                    return ResponseFail.Json("", "密码未填写");
                }
                else if (register.Password != register.RePassword)
                {
                    return ResponseFail.Json("", "两次密码填写不一致");
                }
                else if (context.Users.ToList().Where(t => t.UserName == register.UserName).Count() > 0)
                {
                    return ResponseFail.Json("", "用户名重复,请换一个");
                }

                var user = new User()
                {
                    UserName = register.UserName,
                    Name = register.Name,
                    Password = register.Password
                };

                context.Users.Add(user);

                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.Json("", e.Message);
                }

                return ResponseSuccess.Json("注册成功,请登录");
            }));
        }
        private TranslationRequest ConvertResponseSuccessToTranslationRequest(ResponseSuccess responseSuccess)
        {
            var translationRequest = new TranslationRequest
            {
                Success      = true,
                Text         = responseSuccess.Contents.Text,
                Translation  = responseSuccess.Contents.Translated,
                Date         = DateTime.Now,
                ErrorMessage = "",
                Ip           = _ip
            };

            return(translationRequest);
        }
예제 #15
0
        public async Task <IActionResult> GetCatalogTypeByIdAsync(int id)
        {
            var catalog = await _catalogSvc.GetCatalogItemByIdAsync(id);

            if (catalog is null)
            {
                _logger.LogInformation(Resource.NotFound);

                return(NotFound(ResponseError.Create(Resource.NotFound)));
            }

            var responseObj = catalog.ToViewModel <CatalogType, CatalogTypeDto>();

            return(Ok(ResponseSuccess.Create(responseObj)));
        }
예제 #16
0
 /// <summary>
 /// User logout.
 /// </summary>
 /// <param name="authToken">User's authorized token.</param>
 /// <returns></returns>
 public Task <string> Logout(string authToken)
 {
     return(Task.Run(() =>
     {
         if (UserLoginCache.ContainsKey(authToken))
         {
             bool result = UserLoginCache.RemoveCache(authToken);
             return result ? ResponseSuccess.Json() : ResponseFail.Json("", "注销失败,请重试");
         }
         else
         {
             return ResponseSuccess.Json();
         }
     }));
 }
예제 #17
0
        /// <summary>
        /// Get users by page index and page size.
        /// </summary>
        /// <param name="page">Query page index.First is 1.</param>
        /// <param name="pageSize">Data size per page.</param>
        /// <returns></returns>
        public Task <string> GetUsers(int page, int pageSize = 30)
        {
            return(Task.Run(() =>
            {
                try
                {
                    var excludePre = context.Users.ToList().Take((page - 1) * pageSize);
                    var result = context.Users.ToList().Except(excludePre).Take(pageSize);

                    return ResponseSuccess.Json(result);
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }
            }));
        }
예제 #18
0
        public IResponse GetCustomers()
        {
            IResponse response;

            try
            {
                var result = this.dataService.GetCustomers();

                response = new ResponseSuccess(result);
            }
            catch (Exception ex)
            {
                response = this.GetFailedResponse("Error", ex.Message);
            }

            return(response);
        }
        public ResponseSuccess POST(Experience request, int UserID) // save and update işlemi
        {
            ResponseSuccess responseObject = new ResponseSuccess();

            try
            {
                using (var db = new LinkedinContext())
                {
                    if (string.IsNullOrEmpty(request.CompanyName))
                    {
                        throw new Exception("company_name_error");
                    }
                    if (request.StartingDate == null || request.StartingDate == DateTime.MinValue)
                    {
                        throw new Exception("starting_date_error");
                    }
                    /* diğer veri kontrolleri yapılacak */

                    var user = db.Users.Where(x => x.Id == UserID).Include(s => s.Experiencies).FirstOrDefault();
                    request.UserId = UserID;
                    if (request.Id == 0)
                    {
                        user.Experiencies.Add(request);
                    }
                    else
                    {
                        var oldEntity = user.Experiencies.Where(x => x.Id == request.Id).FirstOrDefault();
                        oldEntity.CompanyName  = request.CompanyName;
                        oldEntity.StartingDate = request.StartingDate;
                        oldEntity.EndDate      = request.EndDate;
                        oldEntity.Location     = request.Location;
                        oldEntity.Position     = request.Position;
                        oldEntity.Description  = request.Description;
                    }
                    db.SaveChanges();
                    responseObject.Success = true;
                }
            }
            catch (Exception ex)
            {
                responseObject.Success = false;
                responseObject.Details = ex.Message;
            }
            return(responseObject);
        }
예제 #20
0
        /// <summary>
        /// Create new team data.
        /// </summary>
        /// <param name="team">New team's data.</param>
        /// <returns></returns>
        public Task <string> CreateTeam(TeamDTO team)
        {
            return(Task.Run(() =>
            {
                if (team == null)
                {
                    return ResponseFail.Json("", "数据异常,无法创建组");
                }
                Team teamObj = new Team()
                {
                    TeamName = team.TeamName,
                    TeamDescription = team.TeamDescription
                };
                context.Teams.Add(teamObj);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                TeamWithUser teamWithUser = new TeamWithUser()
                {
                    TeamId = teamObj.Id,
                    UserId = team.CreatorId,
                    UserRole = 1
                };

                context.TeamWithUsers.Add(teamWithUser);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    context.Teams.Remove(teamObj);
                    context.SaveChanges();
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                return ResponseSuccess.Json(team);
            }));
        }
예제 #21
0
 /// <summary>
 /// Get user teams by user id.
 /// </summary>
 /// <param name="userId">User id.</param>
 /// <returns></returns>
 public Task <string> GetTeams(int userId)
 {
     return(Task.Run(() =>
     {
         var result = from teamWithUser in context.TeamWithUsers.ToList()
                      join team in context.Teams.ToList() on teamWithUser.TeamId equals team.Id
                      join role in context.UserRoles.ToList() on teamWithUser.UserRole equals role.Id
                      where teamWithUser.UserId == userId
                      select new UserTeamDTO
         {
             UserId = teamWithUser.UserId,
             TeamId = teamWithUser.TeamId,
             TeamName = team.TeamName,
             TeamDescription = team.TeamDescription,
             RoleId = teamWithUser.UserRole,
             RoleDescription = role.RoleDescription
         };
         return ResponseSuccess.Json(result);
     }));
 }
예제 #22
0
        public ResponseSuccess POST(User request) // UPDATE ve Create işlemi burada.
        {
            ResponseSuccess responseObject = new ResponseSuccess()
            {
                Success = false
            };

            try
            {
                if (string.IsNullOrEmpty(request.Name))
                {
                    throw new Exception("name_is_empty");
                }
                if (request == null)
                {
                    throw new Exception("request_is_empty");
                }
                /* diğer veri kontrolleri yapılacak */
                using (var db = new LinkedinContext())
                {
                    if (request.Id == 0)
                    {
                        // id null geldi yeni kullanıcı ekleyeceğiz demektir.
                        db.Users.Add(request);
                    }
                    else
                    {
                        db.Users.Update(request);
                    }
                    db.SaveChanges();
                    responseObject.Success = true;
                }
            }
            catch (Exception ex)
            {
                responseObject.Success = false;
                responseObject.Details = ex.Message;
            }

            return(responseObject);
        }
예제 #23
0
        public ResponseSuccess DELETE(int UserId)
        {
            ResponseSuccess responseObject = new ResponseSuccess();

            using (var db = new LinkedinContext())
            {
                var user = db.Users.Where(x => x.Id == UserId).FirstOrDefault();
                if (user != null)
                {
                    db.Users.Remove(user);
                    db.SaveChanges();
                    responseObject.Success = true;
                }
                else
                {
                    responseObject.Success = false;
                    responseObject.Details = "user_not_found";
                }
            }
            return(responseObject);
        }
예제 #24
0
        public ConnService(HubConnection connection)
        {
            this._connection = connection;

            /* All signalR responses are received here and respective action invoke*/

            _connection.On <StatusModel>("ReceiveStatus", (status) => StatusReceived?.Invoke(status));
            _connection.On <Sender>("UpdateAlerts", (sender) => HandleEventReceived?.Invoke(sender));
            _connection.On <CasesModel>("AlertBroadcast", (sender) => AlertReceived?.Invoke(sender));
            _connection.On <string, string, string>("SMSSendingSuccess", (Sid, view, agent) => SendingSuccess?.Invoke(Sid, view, agent));
            _connection.On <string, string>("SMSResponseSuccess", (Sid, response) => ResponseSuccess?.Invoke(Sid, response));
            _connection.On <string>("NewUserConnected", (id) => NewUserSync?.Invoke(id));
            _connection.On <List <UsersRank> >("UsersRank", (rank) => Ranking?.Invoke(rank));
            _connection.On <string>("DisconnectUser", (connId) => DisconnectUser?.Invoke(connId));
            _connection.On <ResponseViewModel, string>("ProgressReportA", (obj, id) => ProgressReportA?.Invoke(obj, id));
            _connection.On <EMTInfo, string>("ProgressReportB", (obj, id) => ProgressReportB?.Invoke(obj, id));
            _connection.On <MedicalInfo, string>("ProgressReportC", (obj, id) => ProgressReportC?.Invoke(obj, id));
            _connection.On <string>("Test", (obj) => Test?.Invoke(obj));
            _connection.On <string>("RestartedResponse", (obj) => Restarted?.Invoke(obj));
            _connection.On <string, string, string>("CallSuccess", (sid, sender, agent) => CallSuccess?.Invoke(sid, sender, agent));
        }
예제 #25
0
        /// <summary>
        /// Add user into the team.
        /// </summary>
        /// <param name="userId">User id.</param>
        /// <param name="teamId">Team id.</param>
        /// <returns></returns>
        public Task <string> AddUser(int userId, int teamId)
        {
            return(Task.Run(() =>
            {
                var user = context.Users.ToList().Find(t => t.Id == userId);
                if (user == null)
                {
                    return ResponseFail.Json("", "无相应用户,操作失败");
                }
                var team = context.TeamWithUsers.ToList().Where(t => t.TeamId == teamId);
                if (team == null)
                {
                    return ResponseFail.Json("", "无相应组,操作失败");
                }

                if (team.Count() == 0)
                {
                    return ResponseFail.Json("", "无相应组,操作失败");
                }

                var teamUser = new TeamWithUser()
                {
                    TeamId = teamId,
                    UserId = userId,
                    UserRole = 3
                };

                context.TeamWithUsers.Add(teamUser);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                return ResponseSuccess.Json();
            }));
        }
예제 #26
0
        /// <summary>
        /// Delete team data by team's id.
        /// </summary>
        /// <param name="teamId">Team's id.</param>
        /// <returns></returns>
        public Task <string> DeleteTeam(int teamId)
        {
            return(Task.Run(() =>
            {
                var team = context.Teams.ToList().Find(t => t.Id == teamId);
                if (team == null)
                {
                    return ResponseFail.NoContent("");
                }
                context.Teams.Remove(team);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                return ResponseSuccess.Json();
            }));
        }
예제 #27
0
        /// <summary>
        /// Delete user by user id.
        /// </summary>
        /// <param name="userId">User's id.</param>
        /// <returns></returns>
        public Task <string> DeleteUser(int userId)
        {
            return(Task.Run(() =>
            {
                var user = context.Users.ToList().Find(t => t.Id == userId);
                if (user == null)
                {
                    return ResponseFail.Json("", "无此用户,操作失败", 204);
                }

                context.Users.Remove(user);
                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    return ResponseFail.Json("", e.Message);
                }

                return ResponseSuccess.Json();
            }));
        }
예제 #28
0
        /// <summary>
        /// Delete user from team.
        /// </summary>
        /// <param name="userId">User id.</param>
        /// <param name="teamId">Team id.</param>
        /// <returns></returns>
        public Task <string> DeleteUser(int userId, int teamId)
        {
            return(Task.Run(() =>
            {
                try
                {
                    var teamWithUser = context.TeamWithUsers.ToList().Find(t => t.TeamId == teamId && t.UserId == userId);
                    if (teamWithUser == null)
                    {
                        return ResponseFail.NoContent();
                    }

                    context.TeamWithUsers.Remove(teamWithUser);

                    context.SaveChanges();
                }   catch (Exception e)
                {
                    return ResponseFail.ExpectationFailed(message: e.Message);
                }

                return ResponseSuccess.Json();
            }));
        }
예제 #29
0
 //[Authorize]
 //  [HttpGet("{email}/{password}")]
 public IActionResult CallBackReact(string email, string password)
 {
     return(Ok(ResponseSuccess.Create(email + "-" + password)));
 }
예제 #30
0
        /// <summary>
        /// User login.
        /// </summary>
        /// <param name="dto">Login information.</param>
        /// <returns></returns>
        public Task <string> Login(LoginDTO login)
        {
            return(Task.Run(() =>
            {
                if (login == null)
                {
                    return ResponseFail.Json("", "用户名和密码为空");
                }
                else if (!string.IsNullOrEmpty(login.AuthToken))
                {
                    LoginUserInfo userInfo = UserLoginCache.FindUser(login.AuthToken);
                    if (userInfo.ID == 0)
                    {
                        return ResponseFail.Json("[AuthToken]无效");
                    }

                    if (!userInfo.OutTime())
                    {
                        return ResponseSuccess.Json(UserLoginCache.FindUser(login.AuthToken));
                    }
                }
                else if (string.IsNullOrEmpty(login.UserName))
                {
                    return ResponseFail.Json("", "用户名为空");
                }
                else if (string.IsNullOrEmpty(login.Password))
                {
                    return ResponseFail.Json("", "密码为空");
                }
                else if (string.IsNullOrEmpty(login.TimeStamp))
                {
                    return ResponseFail.Json("", "参数异常,请检查[TimeStamp]");
                }
                else if (!Utils.CompareMD5(login.Token, string.Format("{0}-{1}", login.UserName, login.TimeStamp)))
                {
                    return ResponseFail.Json("", "参数异常,请检查[Token]");
                }

                User user = context.Users.ToList().Find(t => t.UserName == login.UserName);
                if (user == null)
                {
                    return CheckLoginInfo();
                }
                else if (string.IsNullOrEmpty(user.Password))
                {
                    return ResponseFail.Json("", "未设置密码");
                }
                else
                {
                    if (user.Password == login.Password)
                    {
                        string token = Utils.MD5(string.Format("{0}-{1}-{2}", user.UserName, login.TimeStamp, DateTime.Now.ToUniversalTime().ToString()));
                        UserLoginCache.AddUserCache(token, user);
                        return ResponseSuccess.Json(UserLoginCache.FindUser(token));
                    }
                    else
                    {
                        return CheckLoginInfo();
                    }
                }
            }));
        }