public async Task <CreateItemResponse> Post([FromBody] CreateItemRequest request) { CreateItemResponse createItemResponse = null; var pattern = @"^(?:\d{12})$"; try { if (!Regex.IsMatch(request.UPC, pattern)) { throw new Exception("UPC must be 12 digit number."); } var item = await _domainService.CreateItem(request); if (item != null) { createItemResponse = _mapper.Map <CreateItemResponse>(item); } } catch (Exception ex) { throw new Exception(ex.Message); } return(createItemResponse); }
public CreateItemResponse CreateItem(CreateItemRequest request) { CreateItemResponse response = new CreateItemResponse(); if (string.IsNullOrEmpty(request.ItemEntity.Name)) { response.AddError("İsim boş olamaz!"); } if (context.Items.Any(q => q.Name == request.ItemEntity.Name)) { response.AddError(Resources.ItemNameExists); } if (response.IsSuccessful) { Item item = CreateNewAuditableObject(request); item.Name = request.ItemEntity.Name; item.Description = request.ItemEntity.Description; context.Items.Add(item); context.SaveChanges(); response.ItemEntity = ConvertDboToEntity(item); } return(response); }
public CreateItemResponse Handle(CreateItemRequest request) // TODO NEEDS WORK { var response = new CreateItemResponse(); response.Errors = Validate(request); if (response.HasErrors) { return(response); } try { var now = DateTime.Now; request.Item.IsActive = true; request.Item.UserNotified = false; request.Item.NotifyByEmail = true; request.Item.Created = now; request.Item.Modified = now; request.Item.LastChecked = now.AddDays(-30); request.Item.Content = ""; _itemRepository.Create(request.Item); response.Success = true; return(response); } catch (Exception) { response.Errors.Add(new ErrorStatus("BAD_REQUEST")); return(response); } }
public CreateItemResponse GetFakeCreateItemResponse_UPC_12DigitNumber() { var fake = new CreateItemResponse() { ItemNumber = 24516, UPC = "025698652100", ItemDescription = "Item1", MinimumOrderQuantity = 12, PurchaseUnitOfMeasure = "KG", ItemCost = 12.34M, VendorName = "VENDOR1" }; return(fake); }