public async Task <EquipmentResponse> AddEquipment(EquipmentCreateRequest values) { EquipmentResponse _response = new EquipmentResponse(); try { EntityEntry <EquipmentEntity> result = await _context.Equipment.AddAsync(new EquipmentEntity { EquipmentGuid = Guid.NewGuid().ToString(), ClinicGuid = values.ClinicGuid, Name = values.Name, Quantity = values.Quantity, UnitPrice = values.UnitPrice, RateOfUse = values.RateOfUse, DateofSupply = values.DateofSupply, Created = DateTime.Now.ToUniversalTime(), Updated = DateTime.Now.ToUniversalTime(), IsDeleted = false, }); if (result.Entity.Validate(validationContext: null).Count() == 0) { await _context.SaveChangesAsync(); _response.Code = "E000"; _response.Message = _localizer["success"]; _response.DataCount = 1; _response.ResponseDate = DateTime.Now.ToUniversalTime(); _response.Results.Add(result.Entity); } else { _response.Code = "E001"; _response.Message = _localizer["check_values"]; foreach (System.ComponentModel.DataAnnotations.ValidationResult item in result.Entity.Validate(validationContext: null).ToList()) { _response.Message += item.ErrorMessage + " "; } _response.DataCount = 0; _response.ResponseDate = DateTime.Now.ToUniversalTime(); _response.Results.Add(result.Entity); } } catch (Exception ex) { _response.Code = "E999"; _response.Message = ex.Message; _response.DataCount = 0; _response.ResponseDate = DateTime.Now.ToUniversalTime(); _response.Results = null; } return(_response); }
public async Task <IActionResult> PostEquipment([FromForm] EquipmentCreateRequest request) { var identityClaimNum = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var dto = _mapper.Map <EquipmentCreateDTO>(request); dto.OwnerId = identityClaimNum; dto.CreatedUtc = DateTime.Now; if (await _manager.CreateEquipment(dto)) { return(StatusCode(201)); } throw new Exception(); }
public async Task <OneObjectResponse <EquipmentView> > PostAsync([FromBody] EquipmentCreateRequest request) { try { await semaphore.WaitAsync(); var type = await CheckAndGetEquipmentTypeAsync(request.EquipmentTypeId); await CheckNotExist(request.SerialNumber); var newEquipment = mapper.Map <Equipment>(request); newEquipment.Number = type.LastNumber++; if (request.Children?.Count > 0) { newEquipment.Children = await dbContext .Equipments .Where(eq => request.Children.Contains(eq.Id)) .ToListAsync(); } if (newEquipment.Children?.Count != request.Children?.Count) { throw ResponseStatusCode.IncorrectEquipmentIds.ToApiException(); } await dbContext.Equipments.AddAsync(newEquipment); await dbContext.SaveChangesAsync(); return(mapper.Map <EquipmentView>(newEquipment)); } finally { semaphore.Release(); } }
public async Task <EquipmentResponse> Post([FromBody] EquipmentCreateRequest values) { return(await _equipment.AddEquipment(values)); }