Ejemplo n.º 1
0
        public async Task <RequestResult <TransformerSubstationOutput> > CreateOrUpdateAsync(EditTransformerSubstationInput input)
        {
            if (input == null)
            {
                return(new RequestResult <TransformerSubstationOutput>());
            }
            if (_currentUser == null)
            {
                _currentUser = base.GetCurrentUser();
            }
            RequestResult <TransformerSubstationOutput> rst;
            LoginUserOutput CurrentUser = base.GetCurrentUser();

            if (input.Id != null)
            {
                input.LastModificationTime = DateTime.Now;
                input.LastModifierUserId   = CurrentUser.Id;
                rst = await this.UpdateAsync(input).ConfigureAwait(false);
            }
            else
            {
                rst = await this.CreateAsync(input).ConfigureAwait(false);
            }
            return(rst);
        }
Ejemplo n.º 2
0
        public async Task <LoginUserOutput> WebLogin([FromBody] LoginUserInput input)
        {
            LoginUserOutput output = new LoginUserOutput();

            if (string.IsNullOrEmpty(input.Email) || string.IsNullOrEmpty(input.Password))
            {
                output.Result = "FIELD_INCOMPLETE";
            }
            else
            {
                IdentityUser aspUser = _db._AspNetUsers.Where(e => e.UserName.ToLower().Equals(input.Email.ToLower())).FirstOrDefault();
                if (aspUser == null)
                {
                    output.Result = "USER_NOT_FOUND";
                }
                else
                {
                    if (_userManager.PasswordHasher.VerifyHashedPassword(aspUser, aspUser.PasswordHash, input.Password) == PasswordVerificationResult.Success)
                    {
                        await _signInManager.SignInAsync(aspUser, true);

                        output.Result = "OK";
                    }
                    else
                    {
                        output.Result = "PASSWORD_MISMATCH";
                    }
                }
            }
            return(output);
        }
        /// <summary>复制删除数据
        /// </summary>
        /// <param name="ids">ID列表</param>
        /// <returns>返回是否复制成功</returns>
        public async Task <RequestEasyResult> CopyTaskByIdsAsync(List <Guid> ids)
        {
            RequestEasyResult rst = new RequestEasyResult {
                Flag = false
            };

            if (ids == null || ids.Count == 0)
            {
                return(rst);
            }
            try
            {
                var baseDatas      = _inspectionPlanTaskRepository.GetAll();
                var conditionDatas = baseDatas.Where(item => ids.Contains(item.Id)).ToList().Distinct(new PlanTaskByExecutionTimeEqualityComparer());
                var datas          = baseDatas.Where(t => conditionDatas.Contains(t, new PlanTaskByExecutionTimeEqualityComparer())).ToList();
                List <InspectionPlanTask> addTasks = new List <InspectionPlanTask>();
                InspectionPlanTask        addTask  = null;
                Array           weeks       = Enum.GetValues(typeof(WeekEnum));
                LoginUserOutput CurrentUser = base.GetCurrentUser();
                foreach (var task in conditionDatas)
                {
                    foreach (WeekEnum v in weeks)
                    {
                        if (task.ExecutionWeek == v)
                        {
                            continue;
                        }
                        addTask = new InspectionPlanTask
                        {
                            SeqNo            = 0,
                            PlanTaskName     = task.PlanTaskName,
                            ExecutionWeek    = v,
                            ExecutionTime    = task.ExecutionTime,
                            IsActive         = task.IsActive,
                            Remark           = task.Remark,
                            InspectionCardId = task.InspectionCardId,
                            CreationTime     = DateTime.Now,
                            CreatorUserId    = CurrentUser.Id
                        };
                        var temp   = datas.FirstOrDefault(t => t.InspectionCardId == addTask.InspectionCardId && t.ExecutionWeek == addTask.ExecutionWeek && t.ExecutionTime == addTask.ExecutionTime);
                        var temp_2 = addTasks.FirstOrDefault(t => t.InspectionCardId == addTask.InspectionCardId && t.ExecutionWeek == addTask.ExecutionWeek && t.ExecutionTime == addTask.ExecutionTime);
                        if (temp == null && temp_2 == null)
                        {
                            addTasks.Add(addTask);
                        }
                    }
                }
                if (addTasks.Count > 0)
                {
                    foreach (var task in addTasks)
                    {
                        await _inspectionPlanTaskRepository.InsertAsync(task);
                    }
                }
                rst.Flag = true;
            }
            catch { }
            return(rst);
        }
Ejemplo n.º 4
0
        public async Task <LoginUserOutput> Logout()
        {
            await _signInManager.SignOutAsync();

            LoginUserOutput output = new LoginUserOutput()
            {
                Result = "OK"
            };

            return(output);
        }
Ejemplo n.º 5
0
 public async Task <RequestResult <FunctionOutput> > CreateOrUpdateAsync(EditFunctionInput input)
 {
     if (input == null)
     {
         return(null);
     }
     if (_currentUser == null)
     {
         _currentUser = base.GetCurrentUser();
     }
     return(input.Id != null ? await this.UpdateAsync(input).ConfigureAwait(false) : await this.CreateAsync(input).ConfigureAwait(false));
 }
Ejemplo n.º 6
0
        public LoginUserOutput LoginUser(LoginUserInput input)
        {
            RestHTTP http = new RestHTTP();

            RestSharp.RestRequest req = new RestSharp.RestRequest("api/accounts/GetAccessTokenByUserName", RestSharp.Method.POST);
            req.AddObject(input);

            RestSharp.RestClient client = new RestSharp.RestClient(WebConfigurationManager.AppSettings["AuthServerAPI"]);
            var             response    = client.Execute <LoginUserOutput>(req);
            LoginUserOutput result      = JsonConvert.DeserializeObject <LoginUserOutput>(response.Content, new ClaimConverter());

            return(result);
        }
 public async Task <RequestResult <EquipmentInfoOutput> > CreateOrUpdateAsync(EditEquipmentInfoInput input)
 {
     if (input == null)
     {
         return(null);
     }
     // SetCurrentUserUpdateInfo(ref input);
     if (_currentUser == null)
     {
         _currentUser = base.GetCurrentUser();
     }
     return(input.Id != null ? await this.UpdateAsync(input).ConfigureAwait(false) : await this.CreateAsync(input).ConfigureAwait(false));
 }
Ejemplo n.º 8
0
        public string CreateAccessToken(LoginUserOutput userOutput, TimeSpan?expiration = null)
        {
            if (userOutput == null)
            {
                return(null);
            }
            IEnumerable <Claim> claims = TokenAuthConfiguration.CreateClaims(userOutput);
            var now = DateTime.UtcNow;
            var jwtSecurityToken = new JwtSecurityToken(
                issuer: this.Issuer,
                audience: this.Audience,
                claims: claims,
                notBefore: now,
                expires: now.Add(expiration ?? this.Expiration),
                signingCredentials: this.SigningCredentials
                );

            return(new JwtSecurityTokenHandler().WriteToken(jwtSecurityToken));
        }
Ejemplo n.º 9
0
        public async Task <RequestEasyResult> DeleteByIdAsync(Guid id)
        {
            RequestEasyResult rst = new RequestEasyResult();

            try
            {
                var data = await _manufacturerInfoRepository.FirstOrDefaultAsync(item => item.Id == id).ConfigureAwait(false);

                LoginUserOutput CurrentUser = base.GetCurrentUser();
                data.DeletionTime  = DateTime.Now;
                data.DeleterUserId = CurrentUser.Id;
                data.IsDeleted     = true;
                rst.Flag           = true;
            }
            catch
            {
                rst.Flag = false;
            }
            return(rst);
        }
Ejemplo n.º 10
0
        public async Task <RequestResult <EquipmentTypeOutput> > CreateOrUpdateAsync(EditEquipmentTypeInput input)
        {
            if (input == null)
            {
                return(null);
            }
            if (_currentUser == null)
            {
                _currentUser = base.GetCurrentUser();
            }
            var rst = new RequestResult <EquipmentTypeOutput>()
            {
                Flag = false
            };

            if (VerficationExistName(ref rst, input))
            {
                return(rst);
            }
            return(input.Id != null ? await this.UpdateAsync(input).ConfigureAwait(false) : await this.CreateAsync(input).ConfigureAwait(false));
        }
Ejemplo n.º 11
0
        public async Task <RequestResult <ManufacturerInfoOutput> > CreateOrUpdateAsync(EditManufacturerInfoInput input)
        {
            if (input == null)
            {
                return(null);
            }
            RequestResult <ManufacturerInfoOutput> rst;

            if (_currentUser == null)
            {
                _currentUser = base.GetCurrentUser();
            }
            if (input.Id != null)
            {
                rst = await this.UpdateAsync(input).ConfigureAwait(false);
            }
            else
            {
                rst = await this.CreateAsync(input).ConfigureAwait(false);
            }
            return(rst);
        }
Ejemplo n.º 12
0
        public async Task <RequestEasyResult> RecoverByIdsAsync(List <Guid> ids)
        {
            RequestEasyResult rst = new RequestEasyResult();

            try
            {
                var datas = await _manufacturerInfoRepository.GetAllListAsync(item => ids.Contains(item.Id)).ConfigureAwait(false);

                datas.ForEach(data =>
                {
                    LoginUserOutput CurrentUser = base.GetCurrentUser();
                    data.LastModificationTime   = DateTime.Now;
                    data.LastModifierUserId     = CurrentUser.Id;
                    data.IsDeleted = false;
                    rst.Flag       = true;
                });
            }
            catch
            {
                rst.Flag = false;
            }
            return(rst);
        }
Ejemplo n.º 13
0
        public async Task <RequestResult <InspectionItemOutput> > CreateOrUpdateAsync(EditInspectionItemInput input)
        {
            if (input == null)
            {
                return(null);
            }
            RequestResult <InspectionItemOutput> rst;
            LoginUserOutput CurrentUser = base.GetCurrentUser();

            if (input.Id != null)
            {
                input.LastModificationTime = DateTime.Now;
                input.LastModifierUserId   = CurrentUser.Id;
                rst = await this.UpdateAsync(input).ConfigureAwait(false);
            }
            else
            {
                input.CreationTime  = DateTime.Now;
                input.CreatorUserId = CurrentUser.Id;
                rst = await this.CreateAsync(input).ConfigureAwait(false);
            }
            return(rst);
        }
Ejemplo n.º 14
0
        public static IEnumerable <Claim> CreateClaims(LoginUserOutput userOutput)
        {
            if (userOutput == null)
            {
                userOutput = new LoginUserOutput();
            }
            var claims = new List <Claim>();

            // Specifically add the jti (random nonce), iat (issued timestamp), and sub (subject/user) claims.
            claims.AddRange(new[]
            {
                //new Claim(JwtRegisteredClaimNames.Sub, StringHelper.GuidToLongID(userOutput.Id).ToString()),
                //new Claim(JwtRegisteredClaimNames.Jti, userOutput.Id.ToString()),
                //new Claim(JwtRegisteredClaimNames.Iat, DateTimeOffset.Now.ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64)
                new Claim(ClaimTypes.Sid, userOutput.Id.ToString()),
                new Claim(ClaimTypes.NameIdentifier, StringHelper.GuidToLongID(userOutput.Id).ToString()),
                new Claim(ClaimTypes.Name, userOutput.UserName),
                new Claim(ClaimTypes.Role, ""),
                new Claim(ClaimTypes.UserData, JsonConvert.SerializeObject(userOutput))
            });

            return(claims);
        }
Ejemplo n.º 15
0
        public LoginUserOutput Login([FromBody] LoginUserInput input)
        {
            LoginUserOutput output = new LoginUserOutput();

            if (string.IsNullOrEmpty(input.Email) || string.IsNullOrEmpty(input.Password))
            {
                output.Result = "FIELD_INCOMPLETE";
            }
            else
            {
                IdentityUser aspUser = _db._AspNetUsers.Where(e => e.UserName.ToLower().Equals(input.Email.ToLower())).FirstOrDefault();
                if (aspUser == null)
                {
                    output.Result = "USER_NOT_FOUND";
                }
                else
                {
                    if (_userManager.PasswordHasher.VerifyHashedPassword(aspUser, aspUser.PasswordHash, input.Password) == PasswordVerificationResult.Success)
                    {
                        AppLoginSession newSession = new AppLoginSession(Guid.NewGuid().ToString(), Request);
                        newSession.User   = _db._Users.Where(e => e.AspNetUser.Equals(aspUser)).FirstOrDefault();
                        newSession.Status = 1;
                        _db.AppLoginSessions.Add(newSession);
                        _db.SaveChanges();
                        output.SessionId = newSession.Id;
                        output.Key       = newSession.Key;
                        output.Result    = "OK";
                    }
                    else
                    {
                        output.Result = "PASSWORD_MISMATCH";
                    }
                }
            }
            return(output);
        }
Ejemplo n.º 16
0
 public IHttpActionResult LoginUser(LoginUserInput input)
 {
     LoginUserOutput output = _authSvc.LoginUser(input);
     return Ok(output);
 }
Ejemplo n.º 17
0
 public void Standart(LoginUserOutput output) => ViewModel = new OkObjectResult(output.AccessToken);