Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
        }