Ejemplo n.º 1
0
        public IActionResult Get(int id)
        {
            try
            {
                var result = facade.ReadById(id);
                DeliveryOrderViewModel viewModel = mapper.Map <DeliveryOrderViewModel>(result.Item1);
                if (viewModel == null)
                {
                    throw new Exception("Invalid Id");
                }

                viewModel.unitReceiptNoteIds = result.Item2;

                return(Ok(new
                {
                    apiVersion = ApiVersion,
                    statusCode = General.OK_STATUS_CODE,
                    message = General.OK_MESSAGE,
                    data = viewModel,
                }));
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
        public async Task Should_Error_Update_Invalid_Data()
        {
            DeliveryOrder model = await DataUtil.GetTestData(USERNAME);

            var responseGetById = await this.Client.GetAsync($"{URI}/{model.Id}");

            var json = await responseGetById.Content.ReadAsStringAsync();

            Dictionary <string, object> result = JsonConvert.DeserializeObject <Dictionary <string, object> >(json.ToString());

            Assert.True(result.ContainsKey("apiVersion"));
            Assert.True(result.ContainsKey("message"));
            Assert.True(result.ContainsKey("data"));
            Assert.True(result["data"].GetType().Name.Equals("JObject"));

            DeliveryOrderViewModel viewModel = JsonConvert.DeserializeObject <DeliveryOrderViewModel>(result.GetValueOrDefault("data").ToString());

            viewModel.date     = DateTimeOffset.MinValue;
            viewModel.supplier = null;
            viewModel.items    = new List <DeliveryOrderItemViewModel> {
            };

            var response = await this.Client.PutAsync($"{URI}/{model.Id}", new StringContent(JsonConvert.SerializeObject(viewModel).ToString(), Encoding.UTF8, MediaType));

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] DeliveryOrderViewModel vm)
        {
            identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value;

            DeliveryOrder m = mapper.Map <DeliveryOrder>(vm);

            ValidateService validateService = (ValidateService)facade.serviceProvider.GetService(typeof(ValidateService));

            try
            {
                validateService.Validate(vm);

                int result = await facade.Update(id, m, identityService.Username);

                return(NoContent());
            }
            catch (ServiceValidationExeption e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                    .Fail(e);
                return(BadRequest(Result));
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Post([FromBody] DeliveryOrderViewModel viewModel)
        {
            identityService.Token    = Request.Headers["Authorization"].First().Replace("Bearer ", "");
            identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value;

            ValidateService validateService = (ValidateService)facade.serviceProvider.GetService(typeof(ValidateService));

            try
            {
                validateService.Validate(viewModel);

                DeliveryOrder model = mapper.Map <DeliveryOrder>(viewModel);

                int result = await facade.Create(model, identityService.Username);

                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE)
                    .Ok();
                return(Created(String.Concat(Request.Path, "/", 0), Result));
            }
            catch (ServiceValidationExeption e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                    .Fail(e);
                return(BadRequest(Result));
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
        public async Task Should_Success_Create_Data()
        {
            DeliveryOrderViewModel viewModel = await DataUtil.GetNewDataViewModel(USERNAME);

            HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(viewModel).ToString(), Encoding.UTF8, MediaType);
            var         response    = await this.Client.PostAsync(URI, httpContent);

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
        }
        public async Task Should_Error_Create_Invalid_Data()
        {
            DeliveryOrderViewModel viewModel = await DataUtil.GetNewDataViewModel(USERNAME);

            var response = await this.Client.PostAsync(URI, new StringContent(JsonConvert.SerializeObject(viewModel).ToString(), Encoding.UTF8, MediaType));

            Assert.Equal(HttpStatusCode.Created, response.StatusCode);

            viewModel.date           = DateTimeOffset.MinValue;
            viewModel.supplierDoDate = DateTimeOffset.MinValue;
            viewModel.supplier       = null;
            viewModel.items.FirstOrDefault().fulfillments.FirstOrDefault().deliveredQuantity = 0;
            viewModel.items.Add(new DeliveryOrderItemViewModel
            {
                purchaseOrderExternal = new PurchaseOrderExternal {
                }
            });
            viewModel.items.Add(new DeliveryOrderItemViewModel
            {
                purchaseOrderExternal = new PurchaseOrderExternal
                {
                    _id = viewModel.items.FirstOrDefault().purchaseOrderExternal._id,
                }
            });
            viewModel.items.Add(new DeliveryOrderItemViewModel
            {
                purchaseOrderExternal = new PurchaseOrderExternal
                {
                    _id = viewModel.items.FirstOrDefault().purchaseOrderExternal._id + 1,
                },
                fulfillments = null
            });
            viewModel.items.Add(new DeliveryOrderItemViewModel
            {
                purchaseOrderExternal = new PurchaseOrderExternal
                {
                    _id = viewModel.items.FirstOrDefault().purchaseOrderExternal._id + 2,
                },
                fulfillments = new List <DeliveryOrderFulFillMentViewModel>
                {
                    new DeliveryOrderFulFillMentViewModel
                    {
                        deliveredQuantity = 0
                    }
                }
            });
            var responseInvalid = await this.Client.PostAsync(URI, new StringContent(JsonConvert.SerializeObject(viewModel).ToString(), Encoding.UTF8, MediaType));

            Assert.Equal(HttpStatusCode.BadRequest, responseInvalid.StatusCode);

            viewModel.no    = null;
            viewModel.items = new List <DeliveryOrderItemViewModel> {
            };
            var responseNoItem = await this.Client.PostAsync(URI, new StringContent(JsonConvert.SerializeObject(viewModel).ToString(), Encoding.UTF8, MediaType));

            Assert.Equal(HttpStatusCode.BadRequest, responseNoItem.StatusCode);
        }
        public async Task Should_Error_Create_Data_same_number()
        {
            DeliveryOrderViewModel viewModel = await DataUtil.GetNewDataViewModel(USERNAME);

            HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(viewModel).ToString(), Encoding.UTF8, MediaType);
            var         response    = await this.Client.PostAsync(URI, httpContent);

            DeliveryOrderViewModel viewModel1   = viewModel;
            HttpContent            httpContent1 = new StringContent(JsonConvert.SerializeObject(viewModel1).ToString(), Encoding.UTF8, MediaType);
            var response1 = await this.Client.PostAsync(URI, httpContent);

            Assert.Equal(HttpStatusCode.BadRequest, response1.StatusCode);
        }
Ejemplo n.º 8
0
        public IActionResult UpdateDeliveryOrder(DeliveryOrderViewModel model)
        {
            var          hs      = arrivalFreightChargeServices.UpdateDeliveryOrder(model);
            var          message = HandleError.GetMessage(hs, Crud.Update);
            ResultHandle result  = new ResultHandle {
                Status = hs.Success, Message = stringLocalizer[message].Value
            };

            if (!hs.Success)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
        public void Should_Success_Validate_VM_Null()
        {
            var serviceProvider = GetServiceProvider(GetCurrentMethod());

            serviceProvider
            .Setup(x => x.GetService(typeof(PurchasingDbContext)))
            .Returns(_dbContext(GetCurrentMethod()));

            var vm = new DeliveryOrderViewModel()
            {
                items = new List <DeliveryOrderItemViewModel>()
            };
            var context = new ValidationContext(vm, serviceProvider.Object, null);

            Assert.NotEmpty(vm.Validate(context));
        }
Ejemplo n.º 10
0
        public IEnumerable <DeliveryOrderViewModel> ReportDeliveryOrder(int orderId)
        {
            var model = new DeliveryOrderViewModel();

            using (var context = new EntitiesModel(ConnectionString))
            {
                var order = context.Orders.SingleOrDefault(o => o.Id == orderId);
                if (order != null)
                {
                    model.OrderNo          = order.OrderNo;
                    model.RecipientName    = order.RecipientName;
                    model.DeliveryAddress  = order.RecipientAddress;
                    model.DeliveryDateTime = order.DeliveryDate.GetValueOrDefault();
                    model.Notes            = order.Notes;
                }
            }
            yield return(model);
        }
 public ActionResult Search(DeliveryOrderViewModel model)
 {
     isAdminLogged();
     ViewBag.Parent = "Quản lý giao hàng";
     ViewBag.Child  = "Tìm kiếm";
     try
     {
         if (model.idDeliveryOrder > 0)
         {
             var t = _deliveryOrderService.SearchById(model.idDeliveryOrder);
             if (t != null)
             {
                 IList <DeliveryOrder> temp = new List <DeliveryOrder>();
                 temp.Add(t);
                 model.listDeliveryOrder = temp.ToList();
             }
             return(View("List", model));
         }
         else if (model.deliveryDate != null)
         {
             DateTime delivery_date = Convert.ToDateTime(model.deliveryDate);
             model.listDeliveryOrder = _deliveryOrderService.SearchByDeliveryDate(delivery_date);
             return(View("List", model));
         }
         else if (model.status != 0)
         {
             //byte status = Convert.ToByte(dOrder.status);
             model.listDeliveryOrder = _deliveryOrderService.SearchByStatus(model.status);
             View("List", model);
         }
         else
         {
             model.listDeliveryOrder = _deliveryOrderService.GetAll();
             return(View("List", model));
         }
     }
     catch (FormatException e)
     {
         throw;
     }
     return(View("List"));
 }
Ejemplo n.º 12
0
        public async Task Should_Success_Update_Data()
        {
            DeliveryOrder model = await DataUtil.GetTestData(USERNAME);

            var responseGetById = await this.Client.GetAsync($"{URI}/{model.Id}");

            var json = responseGetById.Content.ReadAsStringAsync().Result;

            Dictionary <string, object> result = JsonConvert.DeserializeObject <Dictionary <string, object> >(json.ToString());

            Assert.True(result.ContainsKey("apiVersion"));
            Assert.True(result.ContainsKey("message"));
            Assert.True(result.ContainsKey("data"));
            Assert.True(result["data"].GetType().Name.Equals("JObject"));

            DeliveryOrderViewModel viewModel = JsonConvert.DeserializeObject <DeliveryOrderViewModel>(result.GetValueOrDefault("data").ToString());

            var response = await this.Client.PutAsync($"{URI}/{model.Id}", new StringContent(JsonConvert.SerializeObject(viewModel).ToString(), Encoding.UTF8, MediaType));

            Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
        }
Ejemplo n.º 13
0
        public ActionResult DOConfirmationView(string dno)
        {
            DeliveryOrderViewModel DOVM          = new DeliveryOrderViewModel();
            DeliveryOrder          deliveryOrder = deliveryOrderService.FindDeliveryOrderById(dno);

            DOVM.DeliveryOrderNo = dno;

            DOVM.PurchaseOrderNo = deliveryOrder.PurchaseOrder.PurchaseOrderNo;

            DOVM.SupplierName = deliveryOrder.Supplier.Name;

            DOVM.Status = deliveryOrder.PurchaseOrder.Status.Name;

            DOVM.DeliveryOrderFileName = deliveryOrder.DeliveryOrderFileName;

            DOVM.InvoiceFileName = deliveryOrder.InvoiceFileName;

            DOVM.CreatedBy = deliveryOrder.CreatedBy.FirstName + deliveryOrder.CreatedBy.LastName;

            DOVM.CreatedDate = deliveryOrder.CreatedDateTime;

            return(View(DOVM));
        }
 //GET: DeliveryOrder
 public ActionResult List(DeliveryOrderViewModel model)
 {
     ViewBag.Parent = "Quản lý giao hàng";
     ViewBag.Child  = "Tìm kiếm";
     return(View(model));
 }