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); }
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)); } }
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); }
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)); }
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")); }
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); }
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)); }