Beispiel #1
0
 private async Task CheckNotExist(string serialNumber)
 {
     if (await dbContext
         .Equipments
         .AnyAsync(eq => eq.SerialNumber == serialNumber))
     {
         throw ApiLogicException.Create(ResponseStatusCode.FieldExist);
     }
 }
        public async Task <OneObjectResponse <LoginResponse> > Login([FromBody] AccountLoginRequest loginData)
        {
            var user = await UserManager.FindByNameAsync(loginData.Username) ??
                       throw ApiLogicException.Create(ResponseStatusCode.WrongLoginOrPassword);

            if (!await UserManager.CheckPasswordAsync(user, loginData.Password))
            {
                throw ApiLogicException.Create(ResponseStatusCode.WrongLoginOrPassword);
            }
            return(await GenerateResponse(user, HttpContext.Request.Headers["User-Agent"].ToString()));
        }
        public async Task <ResponseBase> ChangePassword([FromBody] ChangePasswordRequest request)
        {
            var result = await UserManager
                         .ChangePasswordAsync(await GetCurrentUser(), request.CurrentPassword, request.NewPassword);

            if (result.Succeeded)
            {
                return(ResponseBase.OK);
            }

            throw ApiLogicException.Create(
                      InputParameterIncorrectResponse.Create(result.Errors));
        }
        public async Task <ResponseBase> ResetPassword([FromBody] ResetPasswordRequest request)
        {
            var userByMail = await UserManager.FindByEmailAsync(request.Email)
                             ?? throw ResponseStatusCode.UserNotFound.ToApiException();

            var result = await UserManager.ResetPasswordAsync(userByMail, request.Token, request.NewPassword);

            if (result.Succeeded)
            {
                return(ResponseBase.OK);
            }

            throw ApiLogicException.Create(
                      InputParameterIncorrectResponse.Create(result.Errors));
        }
        public async Task <OneObjectResponse <EventTypeView> > Post([FromBody] EventTypeCreateRequest request)
        {
            var EventType = mapper.Map <EventType>(request);
            var now       = dbContext.EventTypes.FirstOrDefault(et => et.Title == request.Title);

            if (now != null)
            {
                throw ApiLogicException.Create(ResponseStatusCode.FieldExist);
            }
            var added = await dbContext.EventTypes.AddAsync(EventType);

            await dbContext.SaveChangesAsync();

            return(mapper.Map <EventTypeView>(added.Entity));
        }
        public async Task <OneObjectResponse <Guid> > Delete([FromBody] IdRequest request)
        {
            var now = await dbContext
                      .EquipmentTypes
                      .Where(et => et.Id == request.Id)
                      .Select(et => new { equipmentType = et, childsCount = et.Children.Count, equipmentCount = et.Equipment.Count })
                      .SingleOrDefaultAsync() ?? throw ApiLogicException.Create(ResponseStatusCode.NotFound);

            if (now.childsCount != 0 || now.equipmentCount != 0)
            {
                throw ResponseStatusCode.ChildrenExists.ToApiException();
            }
            dbContext.EquipmentTypes.Remove(now.equipmentType);
            await dbContext.SaveChangesAsync();

            return(now.equipmentType.Id);
        }
        public async Task <OneObjectResponse <EquipmentTypeView> > GetAsync(Guid id)
        {
            var one = await dbContext
                      .EquipmentTypes
                      .Where(eqt => eqt.Id == id)
                      .SingleOrDefaultAsync()
                      ?? throw ApiLogicException.Create(ResponseStatusCode.NotFound);

            var targetRootId = one.RootId ?? one.Id;
            var all          = await dbContext
                               .EquipmentTypes
                               .Where(et => et.RootId == targetRootId && et.Deep >= one.Deep)
                               .ToListAsync();

            all.Add(one);
            BuildTree(all);
            return(mapper.Map <EquipmentTypeView>(all.Single(et => et.Id == id)));
        }
Beispiel #8
0
 public static ApiLogicException ToApiException(this ResponseStatusCode statusCode, string message)
 => ApiLogicException.Create(statusCode, message);