Пример #1
0
        public async Task DeliverOrder(DeliveryViewModel model)
        {
            // Buscamos por el Id en la entidad Orders
            var order = await this.context.Orders.FindAsync(model.Id);

            if (order == null)
            {
                return;
            }

            // Se actualiza la fecha de entrega en la entidad
            order.DeliveryDate = model.DeliveryDate;

            // Se actualiza el cambio en el contexto
            this.context.Orders.Update(order);

            // Guardo los cambios del contexto a la base de datos
            await this.context.SaveChangesAsync();
        }
Пример #2
0
        public void Update(DeliveryViewModel deliveryVM)
        {
            var delivery = _deliveriesService.GetDeliveryByIdEager(deliveryVM.Id);

            delivery.DeliveryDate = deliveryVM.DeliveryDate;
            delivery.Status       = deliveryVM.Status;

            delivery.Driver = _driversService.GetEntityById(deliveryVM.Driver.Id);

            _deliveryPurchasesService.DeleteDeliveryPurchases(delivery.Id);
            var deliveryPurchases = new List <DeliveryPurchase>(deliveryVM.Purchases.Count);

            foreach (var purchaseVM in deliveryVM.Purchases)
            {
                var purchase = _purchasesService.GetEntityById(purchaseVM.Id);
                deliveryPurchases.Add(
                    new DeliveryPurchase
                {
                    Delivery = delivery,
                    Purchase = purchase,
                    TimeFrom = purchaseVM.TimeFrom,
                    TimeTo   = purchaseVM.TimeTo,
                    Notes    = purchaseVM.Notes
                });
            }

            delivery.DeliveryPurchases = deliveryPurchases;

            var purchaseUnitsVM = deliveryVM.Purchases.SelectMany(p => p.PurchaseUnits).ToArray();
            var purchaseUnits   = new List <PurchaseUnit>(purchaseUnitsVM.Length);

            foreach (var pUnitsVM in purchaseUnitsVM)
            {
                var purchaseUnit = _purchaseUnitsService.GetEntityById(pUnitsVM.Id);
                purchaseUnits.Add(purchaseUnit);
            }

            delivery.PurchaseUnits = purchaseUnits;

            _service.UpdateEntity(delivery);
        }
Пример #3
0
        public void Create(DeliveryViewModel deliveryVM)
        {
            var delivery = new Delivery
            {
                DeliveryDate = deliveryVM.DeliveryDate,
                Status       = DeliveryStatus.Planned,
            };

            delivery.Driver = _driversService.GetEntityById(deliveryVM.Driver.Id);

            var deliveryPurchases = new List <DeliveryPurchase>(deliveryVM.Purchases?.Count ?? 0);

            foreach (var purchaseVM in deliveryVM.Purchases)
            {
                var purchase = _purchasesService.GetEntityById(purchaseVM.Id);
                deliveryPurchases.Add(
                    new DeliveryPurchase
                {
                    Delivery = delivery,
                    Purchase = purchase,
                    TimeFrom = purchaseVM.TimeFrom,
                    TimeTo   = purchaseVM.TimeTo,
                    Notes    = purchaseVM.Notes
                });
            }

            delivery.DeliveryPurchases = deliveryPurchases;

            var purchaseUnitsVM = deliveryVM.Purchases.SelectMany(p => p.PurchaseUnits).ToArray();
            var purchaseUnits   = new List <PurchaseUnit>(purchaseUnitsVM.Count());

            foreach (var pUnitsVM in purchaseUnitsVM)
            {
                var purchaseUnit = _purchaseUnitsService.GetEntityById(pUnitsVM.Id);
                purchaseUnits.Add(purchaseUnit);
            }

            delivery.PurchaseUnits = purchaseUnits;

            _service.CreateEntity(delivery);
        }
Пример #4
0
        public ActionResult EditGRN(DeliveryViewModel deliveryViewModel)
        {
            if (ModelState.IsValid)
            {
                int transportOrderId = 0;

                var delivery = _deliveryService.Get(t => t.DeliveryID == deliveryViewModel.DeliveryID, null,
                                                    "DeliveryDetails,FDP,Hub").FirstOrDefault();

                var dispatch = _dispatchService.Get(t => t.DispatchID == deliveryViewModel.DispatchID, null,
                                                    "DispatchAllocation").FirstOrDefault();

                delivery.DeliveryBy   = deliveryViewModel.DeliveryBy;
                delivery.DeliveryDate = deliveryViewModel.DeliveryDate;


                delivery.DocumentReceivedBy   = deliveryViewModel.DocumentReceivedBy;
                delivery.DocumentReceivedDate = deliveryViewModel.DocumentReceivedDate;

                delivery.DriverName = deliveryViewModel.DriverName;

                delivery.InvoiceNo       = deliveryViewModel.InvoiceNo;
                delivery.PlateNoPrimary  = deliveryViewModel.PlateNoPrimary;
                delivery.PlateNoTrailler = deliveryViewModel.PlateNoTrailler;
                delivery.ReceivedBy      = deliveryViewModel.ReceivedBy;
                delivery.ReceivedDate    = deliveryViewModel.ReceivedDate;
                delivery.ReceivingNumber = deliveryViewModel.ReceivingNumber;
                delivery.RequisitionNo   = deliveryViewModel.RequisitionNo;
                delivery.TransporterID   = deliveryViewModel.TransporterID;
                delivery.WayBillNo       = deliveryViewModel.WayBillNo;
                _deliveryService.EditDelivery(delivery);
                if (dispatch.DispatchAllocation.TransportOrderID.HasValue)
                {
                    transportOrderId = dispatch.DispatchAllocation.TransportOrderID.Value;
                }
                return(RedirectToAction("Dispatches", "Delivery", new { Area = "Logistics", id = transportOrderId }));
            }

            return(View(deliveryViewModel));
        }
Пример #5
0
        private void PopulateDelivery()
        {
            //Get the delivery data and populate the table with it

            DeliveryViewModel delivery = new DeliveryViewModel();

            List <DeliveryItemViewModel> items = new List <DeliveryItemViewModel>();

            HttpClient client = new HttpClient
            {
                BaseAddress = new Uri("http://localhost:9000/")
            };
            var response = client.GetAsync("Delivery/Shop").Result;

            if (response.IsSuccessStatusCode)
            {
                var jsonString = response.Content.ReadAsStringAsync().Result;
                delivery                = JsonConvert.DeserializeObject <DeliveryViewModel>(jsonString);
                lblDeliveryDate.Text    = delivery.deliveryDate.ToShortDateString();
                lblDeliveryType.Text    = delivery.deliveryType.ToString();
                lblDeliveryDate.Visible = true;
                lblDeliveryType.Visible = true;

                var secondResponse = client.PostAsJsonAsync("Delivery/Shop/Items", delivery).Result;
                if (secondResponse.IsSuccessStatusCode)
                {
                    var secondJsonString = secondResponse.Content.ReadAsStringAsync().Result;
                    items = JsonConvert.DeserializeObject <List <DeliveryItemViewModel> >(secondJsonString);
                    foreach (DeliveryItemViewModel item in items)
                    {
                        grdDelivery.Rows.Add(item.productName, item.quantity);
                    }
                }
            }
            else
            {
                MessageBox.Show("Delivery Request failed. Please try again. Error Code: " + response.StatusCode.ToString(),
                                "Delivery Request Failed", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Пример #6
0
        // GET: Deliveries/Edit/5
        public async Task <IActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var delivery = User.UserRole().Contains("Admin") ? await _bll.DeliveryService.FirstOrDefaultAsync(id.Value) : await _bll.DeliveryService.FirstOrDefaultAsync(id.Value, User.UserGuidId());

            if (delivery == null)
            {
                return(NotFound());
            }
            var vm = new DeliveryViewModel()
            {
                Delivery = delivery,
                DeliveryTypesSelectList = new SelectList(
                    await _bll.DeliveryTypeService.AllAsync(), nameof(DeliveryType.Id), nameof(DeliveryType.Name)),
            };

            return(View(vm));
        }
Пример #7
0
        public async Task <IActionResult> Deliver(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var order = await _orderRepository.GetOrderAsync(id.Value);

            if (order == null)
            {
                return(NotFound());
            }

            var model = new DeliveryViewModel
            {
                Id           = order.Id,
                DeliveryDate = DateTime.Today
            };

            return(View(model));
        }
Пример #8
0
        public JsonResult Put([FromBody] DeliveryViewModel deliveryViewModel)
        {
            if (deliveryViewModel == null)
            {
                return(Json(new JsonResponse {
                    Code = ResponseCodes.Error, Desc = "Объект не получен."
                }));
            }

            if (!_deliveriesManager.EntityExist(deliveryViewModel.Id))
            {
                return(Json(new JsonResponse {
                    Code = ResponseCodes.Error, Desc = "Такая доставка не существует."
                }));
            }

            _deliveriesManager.Update(deliveryViewModel);

            return(Json(new JsonResponse {
                Code = ResponseCodes.Ok
            }));
        }
Пример #9
0
        public static UpdateResult AddDeliveryCompany(DeliveryViewModel model, GustafsGalleryStoreContext context)
        {
            try
            {
                if (model.Id == 0)
                {
                    var company = new DeliveryCompany()
                    {
                        Company = model.Company
                    };

                    List <DeliveryCompany> companies = new List <DeliveryCompany>();

                    companies = context.DeliveryCompanies.Where(x => x.Company == model.Company).ToList();

                    if (companies.Count > 0)
                    {
                        return(UpdateResult.Duplicate);
                    }

                    context.Add(company);
                }
                else
                {
                    var inDb = context.DeliveryCompanies.Where(x => x.Id == model.Id).SingleOrDefault();
                    inDb.Company = model.Company;
                    context.Update(inDb);
                }

                context.SaveChanges();

                return(UpdateResult.Success);
            }
            catch
            {
                return(UpdateResult.Error);
            }
        }
        protected async Task LoadContent()
        {
            CanGoNext = false;

            Loading = true;

            var userTask     = UserViewModel.LoadContent();
            var deliveryTask = DeliveryViewModel.LoadContent();

            await Task.WhenAll(userTask, deliveryTask);

            var dataSource = new MvxObservableCollection <IMvxViewModel>();

            dataSource.AddRange(UserViewModel.Items);
            dataSource.AddRange(DeliveryViewModel.Items);
            Items = dataSource;

            CanGoNext = true;

            Loading = false;

            DeliveryViewModel.PropertyChanged += DeliveryViewModel_PropertyChanged;
        }
Пример #11
0
        private async void btnCreateCustomer_Click(object sender, RoutedEventArgs e)
        {
            BusinessLogicLayer controller  = new BusinessLogicLayer();
            DeliveryViewModel  newDelivery = new DeliveryViewModel
            {
                CustomerID       = this.CustomerID,
                DeliveryDate     = pckDeliveryDate.SelectedDate,
                LilliesDelivered = txtLilliesDelivered.Text,
                Note             = txtNote.Text
            };

            if (await controller.AddDelivery(newDelivery))
            {
                MainWindow window = (MainWindow)Application.Current.MainWindow;
                window.lstDeliveries.ItemsSource = await controller.PopulateDeliveryBox(CustomerID);

                this.Close();
            }
            else
            {
                MessageBox.Show("Please enter an lilly delivery quantity greater than or equal to 0");
            }
        }
Пример #12
0
        public async Task <IActionResult> Delivery(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            // Método para traer una orden
            var order = await this.orderRepository.GetOrdersAsync(id.Value);

            if (order == null)
            {
                return(NotFound());
            }

            // Se crea un nuevo objeto DeliveryViewModel
            var model = new DeliveryViewModel
            {
                Id           = order.Id,
                DeliveryDate = DateTime.Today
            };

            return(View(model));
        }
        public IActionResult DeliveryCompany(DeliveryViewModel model)
        {
            string failureMessage = null;
            string successMessage = null;
            var    redirectUrl    = "/ManageSite/DeliveryCompany";

            if (ModelState.IsValid)
            {
                var result = ManageSiteHelper.AddDeliveryCompany(model, _context);


                if (result == UpdateResult.Error)
                {
                    failureMessage = "Delivery Company couldn't be updated.";
                }
                else if (result == UpdateResult.Success)
                {
                    successMessage = "Delivery Company updated.";
                }
                else if (result == UpdateResult.Duplicate)
                {
                    failureMessage = "Delivery Company already exists.";
                }
            }

            if (!string.IsNullOrWhiteSpace(failureMessage))
            {
                redirectUrl += string.Format("?failureMessage={0}", failureMessage);
            }
            if (!string.IsNullOrWhiteSpace(successMessage))
            {
                redirectUrl += string.Format("?successMessage={0}", successMessage);
            }

            return(ControllerHelper.RedirectToLocal(this, redirectUrl));
        }
Пример #14
0
        private DeliveryViewModel EditGoodsReceivingNote(Delivery delivery)
        {
            if (delivery == null)
            {
                return(new DeliveryViewModel());
            }
            var dispatch = _dispatchService.Get(t => t.DispatchID == delivery.DispatchID, null,
                                                "FDP,FDP.AdminUnit,FDP.AdminUnit.AdminUnit2,FDP.AdminUnit.AdminUnit2.AdminUnit2,Transporter,Hub").FirstOrDefault();

            var deliveryViewModel = new DeliveryViewModel();

            deliveryViewModel.DispatchID           = delivery.DispatchID;
            deliveryViewModel.DeliveryDate         = delivery.DeliveryDate;
            deliveryViewModel.DocumentReceivedBy   = delivery.DocumentReceivedBy;
            deliveryViewModel.DocumentReceivedDate = delivery.DocumentReceivedDate;
            deliveryViewModel.DeliveryID           = delivery.DeliveryID;
            //distribution.DonorID=dispatch.
            deliveryViewModel.DriverName       = delivery.DriverName;
            deliveryViewModel.FDPID            = delivery.FDPID;
            deliveryViewModel.HubID            = delivery.HubID;
            deliveryViewModel.TransporterID    = delivery.TransporterID;
            deliveryViewModel.InvoiceNo        = delivery.InvoiceNo;
            deliveryViewModel.PlateNoPrimary   = delivery.PlateNoPrimary;
            deliveryViewModel.PlateNoTrailler  = delivery.PlateNoTrailler;
            deliveryViewModel.RequisitionNo    = delivery.RequisitionNo;
            deliveryViewModel.FDP              = dispatch.FDP.Name;
            deliveryViewModel.Region           = dispatch.FDP.AdminUnit.AdminUnit2.AdminUnit2.Name;
            deliveryViewModel.Zone             = dispatch.FDP.AdminUnit.AdminUnit2.Name;
            deliveryViewModel.Woreda           = dispatch.FDP.AdminUnit.Name;
            deliveryViewModel.Hub              = dispatch.Hub.Name;
            deliveryViewModel.DeliveryBy       = delivery.DeliveryBy;
            deliveryViewModel.ReceivedBy       = delivery.ReceivedBy;
            deliveryViewModel.ReceivedDate     = delivery.ReceivedDate;
            deliveryViewModel.ReceivingNumber  = delivery.ReceivingNumber;
            deliveryViewModel.InvoiceNo        = delivery.InvoiceNo;
            deliveryViewModel.WayBillNo        = delivery.WayBillNo;
            deliveryViewModel.RequisitionNo    = delivery.RequisitionNo;
            deliveryViewModel.Transporter      = dispatch.Transporter.Name;
            deliveryViewModel.Status           = delivery.Status;
            deliveryViewModel.ActionTypeRemark = delivery.ActionTypeRemark;
            var pref = UserAccountHelper.UserCalendarPreference();

            deliveryViewModel.DeliveryDatePref = delivery.DeliveryDate.HasValue
                                                         ? delivery.DeliveryDate.Value.ToCTSPreferedDateFormat(pref)
                                                         : "";
            deliveryViewModel.ReceivedDatePref = delivery.ReceivedDate.HasValue
                                                         ? delivery.ReceivedDate.Value.ToCTSPreferedDateFormat(pref)
                                                         : "";
            deliveryViewModel.DocumentReceivedDatePref = delivery.DocumentReceivedDate.HasValue
                                                                 ? delivery.DocumentReceivedDate.Value.
                                                         ToCTSPreferedDateFormat(pref)
                                                                 : "";

            deliveryViewModel.ContainsDiscripancy =
                delivery.DeliveryDetails.Any(t => t.ReceivedQuantity < t.SentQuantity);
            //foreach (var dispatchDetail in dispatch.DispatchDetails)
            //{
            //    var deliveryDetail = new DistributionDetail();
            //    deliveryDetail.DistributionID = distribution.DistributionID;
            //    deliveryDetail.DistributionDetailID = Guid.NewGuid();
            //    deliveryDetail.CommodityID = dispatchDetail.CommodityID;
            //    deliveryDetail.ReceivedQuantity = 0;
            //    deliveryDetail.SentQuantity = dispatchDetail.RequestedQuantityInMT;
            //    deliveryDetail.UnitID = dispatchDetail.UnitID;


            //}
            return(deliveryViewModel);
        }
        public async Task <DeliveryViewModel> GetOne(Guid id)
        {
            var entity = await _contentGroupService.FindByAsync(ContentGroupName.Delivery, x => x.Id == id);

            return(DeliveryViewModel.Map(entity));
        }
Пример #16
0
        private DeliveryViewModel MapToDeliveryViewModel(dynamic queryResult)
        {
            var pickUpContactPerson = new ContactPersonViewModel
            {
                Name  = queryResult.PickUpLocation_ContactPerson_Name,
                Phone = queryResult.PickUpLocation_ContactPerson_Phone
            };

            var pickUpDeliveryLocation = new DeliveryLocationViewModel
            {
                Address                = queryResult.PickUpLocation_Address,
                BuildingNumber         = queryResult.PickUpLocation_BuildingNumber,
                EntranceNumber         = queryResult.PickUpLocation_EntranceNumber,
                FloorNumber            = queryResult.PickUpLocation_FloorNumber,
                ApartmentNumber        = queryResult.PickUpLocation_ApartmentNumber,
                Latitude               = queryResult.PickUpLocation_Latitude,
                Longitude              = queryResult.PickUpLocation_Longitude,
                Note                   = queryResult.PickUpLocation_Note,
                ContactPerson          = pickUpContactPerson,
                ArrivalStartDateTime   = queryResult.PickUpLocation_ArrivalStartDateTime,
                ArrivalFinishDateTime  = queryResult.PickUpLocation_ArrivalFinishDateTime,
                CourierArrivedDateTime = queryResult.PickUpLocation_CourierArrivedDateTime
            };

            var dropOffContactPerson = new ContactPersonViewModel
            {
                Name  = queryResult.DropOffLocation_ContactPerson_Name,
                Phone = queryResult.DropOffLocation_ContactPerson_Phone
            };

            var dropOffDeliveryLocation = new DeliveryLocationViewModel
            {
                Address                = queryResult.DropOffLocation_Address,
                BuildingNumber         = queryResult.DropOffLocation_BuildingNumber,
                EntranceNumber         = queryResult.DropOffLocation_EntranceNumber,
                FloorNumber            = queryResult.DropOffLocation_FloorNumber,
                ApartmentNumber        = queryResult.DropOffLocation_ApartmentNumber,
                Latitude               = queryResult.DropOffLocation_Latitude,
                Longitude              = queryResult.DropOffLocation_Longitude,
                Note                   = queryResult.DropOffLocation_Note,
                ContactPerson          = dropOffContactPerson,
                ArrivalStartDateTime   = queryResult.DropOffLocation_ArrivalStartDateTime,
                ArrivalFinishDateTime  = queryResult.DropOffLocation_ArrivalFinishDateTime,
                CourierArrivedDateTime = queryResult.DropOffLocation_CourierArrivedDateTime
            };

            var delivery = new DeliveryViewModel
            {
                Id               = queryResult.Id,
                Number           = queryResult.Number,
                CreatedDateTime  = queryResult.CreatedDateTime,
                FinishedDateTime = queryResult.FinishedDateTime,
                Price            = queryResult.Price,
                Weight           = queryResult.Weight,
                Note             = queryResult.Note,
                PickUpLocation   = pickUpDeliveryLocation,
                DropOffLocation  = dropOffDeliveryLocation,
                DeliveryStatus   = queryResult.DeliveryStatus,
                ClientId         = queryResult.ClientId,
                CourierId        = queryResult.CourierId
            };

            return(delivery);
        }
 public CityActionCommand(DeliveryViewModel deliveryViewModel)
 {
     this.deliveryViewModel = deliveryViewModel;
 }
        // GET: Deliveries/Delete/5
        public async Task <IActionResult> Dispatch(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var delivery = await _deliveryService.GetAsync((Guid)id);

            var company = await _companyService.GetAsync((Guid)delivery?.DestinationCompanyId);

            try
            {
                var warehouse = (await _warehouseService.GetAllAsync())
                                .FirstOrDefault(x =>
                                                x.CompanyId == company.Id && x.MaxCode >= delivery.Code && x.MinCode <= delivery.Code);

                var deliveryPoints = (await _deliveryPointService.GetAllAsync())
                                     .Where(x => x.WarehouseId == warehouse?.Id)
                                     .ToList();

                var deliveryEvents = new List <Event>();

                deliveryPoints.ForEach((x) =>
                {
                    var deliveries = _deliveryService.GetAllAsync().GetAwaiter().GetResult()
                                     .Where(o => o.DeliveryPointId == x.Id).ToList();

                    deliveries.ForEach(d =>
                    {
                        if (d.DispatchTime != null && d.DeliveryTime != null)
                        {
                            deliveryEvents.Add(new Event()
                            {
                                title = "Dostava",
                                start = d.DispatchTime,
                                end   = d.DeliveryTime
                            });
                        }
                    });
                });

                var vm = new DeliveryViewModel()
                {
                    Id   = delivery.Id,
                    Code = delivery.Code,
                    DestinationCompanies = company,
                    DeliveryPoints       = deliveryPoints,
                    DeliveryEvents       = deliveryEvents
                };

                return(View(vm));
            }
            catch (Exception e)
            {
                ModelState.AddModelError(string.Empty,
                                         "Prosimo vnesite skladišča (tudi min in max vrednost posebej) in dostavne točke, ter nato poskusite ponovno.");

                return(View(new DeliveryViewModel()
                {
                    Id = delivery.Id,
                    Code = delivery.Code,
                    DestinationCompanies = company,
                    DeliveryPoints = new List <DeliveryPointDto>(),
                    DeliveryEvents = new List <Event>()
                }));
            }
        }
        public IActionResult Delivery(DeliveryRequestModel requestModel)
        {
            var model = new DeliveryViewModel();

            return(View("../ApprenticeShips/Delivery/Index", model));
        }
Пример #20
0
 private IEnumerable<DeliveryViewModel> BindDeliveryViewModels(IEnumerable<Delivery> deliveries)
 {
     var deliveryViewModels = new List<DeliveryViewModel>();
     foreach (var delivery in deliveries)
     {
         var deliveryViewModel = new DeliveryViewModel();
         deliveryViewModel.ReceivingNumber = delivery.ReceivingNumber;
         deliveryViewModel.WayBillNo = delivery.WayBillNo;
         deliveryViewModel.ReceivedBy = delivery.ReceivedBy;
         deliveryViewModel.ReceivedDate = delivery.ReceivedDate;
         deliveryViewModel.DeliveryBy = delivery.DeliveryBy;
         deliveryViewModel.DocumentReceivedDate = delivery.DocumentReceivedDate;
         deliveryViewModels.Add(deliveryViewModel);
     }
     return deliveryViewModels;
 }
Пример #21
0
        // GET: Deliveries/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Delivery delivery = db.Deliveries.Find(id);

            if (delivery == null)
            {
                return(HttpNotFound());
            }
            var viewModel = new DeliveryViewModel()
            {
                Id               = delivery.Id,
                ClientId         = delivery.ClientId,
                DeliveryDate     = delivery.DeliveryDate,
                ODNotes          = delivery.ODNotes,
                DriverNotes      = delivery.DriverNotes,
                DateDelivered    = delivery.DateDelivered,
                FamilyMembers    = AppRoutines.GetFamilyMembers(delivery.ClientId),
                FamilySelectList = AppRoutines.GetFamilySelectList(delivery.ClientId)
            };

            foreach (var mbr in viewModel.FamilyMembers)
            {
                mbr.Age = AppRoutines.GetAge(mbr.DateOfBirth, DateTime.Today);
                if (mbr.Age < 18)
                {
                    viewModel.KidsCount += 1;
                }
                if (mbr.Age >= 18 && mbr.Age < 60)
                {
                    viewModel.AdultsCount += 1;
                }
                if (mbr.Age >= 60)
                {
                    viewModel.SeniorsCount += 1;
                }
            }
            var client = db.Clients.Find(delivery.ClientId);

            if (client != null)
            {
                viewModel.Client            = client;
                viewModel.ClientNameAddress = client.LastName + ", " + client.FirstName
                                              + " " + client.StreetNumber + " " + client.StreetName + " " + client.Zip;
                viewModel.Notes = client.Notes;
            }

            if (delivery.FullBags != null)
            {
                viewModel.FullBags = (int)delivery.FullBags;
            }
            if (delivery.HalfBags != null)
            {
                viewModel.HalfBags = (int)delivery.HalfBags;
            }
            if (delivery.KidSnacks != null)
            {
                viewModel.KidSnacks = (int)delivery.KidSnacks;
            }
            if (delivery.GiftCardsEligible != null)
            {
                viewModel.GiftCardsEligible = (int)delivery.GiftCardsEligible;
            }

            return(View(viewModel));
        }
Пример #22
0
        // GET: Deliveries
        public ActionResult Index()
        {
            var listDeliveries = new List <Delivery>(db.Deliveries).Where(d => d.DateDelivered == null).OrderBy(d => d.DeliveryDate).ToList();
            // to add order .ThenBy(Zip) means storing the Zip in Client.cs AND Delivery/cs
            var listDeliveryViewModels = new List <DeliveryViewModel>();

            foreach (var delivery in listDeliveries)
            {
                var client = db.Clients.Find(delivery.ClientId);
                if (client != null)
                {
                    var deliveryView = new DeliveryViewModel
                    {
                        Id               = delivery.Id,
                        ClientId         = client.Id,
                        Client           = client,
                        DeliveryDate     = Convert.ToDateTime(Session["CallLogDate"]),
                        FamilyMembers    = AppRoutines.GetFamilyMembers(client.Id),
                        FamilySelectList = AppRoutines.GetFamilySelectList(client.Id),
                        Kids             = new List <FamilyMember>(),
                        Adults           = new List <FamilyMember>(),
                        Seniors          = new List <FamilyMember>()
                    };
                    foreach (var mbr in deliveryView.FamilyMembers)
                    {
                        mbr.Age = AppRoutines.GetAge(mbr.DateOfBirth, DateTime.Today);
                        if (mbr.Age < 18)
                        {
                            deliveryView.Kids.Add(mbr);
                            deliveryView.KidsCount += 1;
                        }

                        if (mbr.Age >= 18 && mbr.Age < 60)
                        {
                            deliveryView.Adults.Add(mbr);
                            deliveryView.AdultsCount += 1;
                        }

                        if (mbr.Age >= 60)
                        {
                            deliveryView.Seniors.Add(mbr);
                            deliveryView.SeniorsCount += 1;
                        }
                    }

                    deliveryView.KidsCount         = deliveryView.Kids.Count();
                    deliveryView.AdultsCount       = deliveryView.Adults.Count();
                    deliveryView.SeniorsCount      = deliveryView.Seniors.Count();
                    deliveryView.FullBags          = 0;
                    deliveryView.HalfBags          = 0;
                    deliveryView.KidSnacks         = 0;
                    deliveryView.GiftCards         = 0;
                    deliveryView.GiftCardsEligible = 0;                          // !!! calculate this value
                    deliveryView.DateLastDelivery  = DateTime.Today.AddDays(-7); // !!! calculate this value
                    deliveryView.DateLastGiftCard  = DateTime.Today.AddDays(-7); // !!! calculate this value
                    if (delivery.DriverId != null)
                    {
                        var driver = db.Users.Find(delivery.DriverId);
                        if (driver != null)
                        {
                            deliveryView.DriverName = driver.FullName;
                        }
                    }
                    else
                    {
                        deliveryView.DriverName = "(nobody yet)";
                    }

                    var userIid = System.Web.HttpContext.Current.User.Identity.GetUserId();
                    if (userIid != null)
                    {
                        var user = db.Users.Find(userIid);
                        deliveryView.User = user;
                    }
                    ;
                    deliveryView.FirstName    = client.FirstName;
                    deliveryView.LastName     = client.LastName;
                    deliveryView.StreetNumber = client.StreetNumber;
                    deliveryView.StreetName   = client.StreetName;
                    // (full length on mouseover)    \u00a0 is the Unicode character for NO-BREAK-SPACE.
                    deliveryView.StreetToolTip = client.StreetName.Replace(" ", "\u00a0");
                    deliveryView.City          = client.City;
                    deliveryView.CityToolTip   = client.City.Replace(" ", "\u00a0");
                    deliveryView.Zip           = client.Zip;
                    deliveryView.Phone         = client.Phone;
                    deliveryView.PhoneToolTip  = client.Phone.Replace(" ", "\u00a0");
                    string s;
                    if (client.Notes != null)
                    {
                        deliveryView.Notes        = client.Notes;
                        deliveryView.NotesToolTip = client.Notes.Replace(" ", "\u00a0");
                        s = deliveryView.Notes;
                        s = s.Length <= 12 ? s : s.Substring(0, 12) + "...";
                        deliveryView.Notes = s;
                    }

                    if (delivery.ODNotes != null)
                    {
                        deliveryView.ODNotes        = delivery.ODNotes;
                        deliveryView.ODNotesToolTip = delivery.ODNotes.Replace(" ", "\u00a0");
                        s = deliveryView.ODNotes;
                        s = s.Length <= 12 ? s : s.Substring(0, 12) + "...";
                        deliveryView.ODNotes = s;
                    }

                    if (delivery.DriverNotes != null)
                    {
                        deliveryView.DriverNotes        = delivery.DriverNotes;
                        deliveryView.DriverNotesToolTip = deliveryView.DriverNotes.Replace(" ", "\u00a0");
                        s = deliveryView.DriverNotes;  // For display, abbreviate to 12 characters:
                        s = s.Length <= 12 ? s : s.Substring(0, 12) + "...";
                        deliveryView.DriverNotes = s;
                    }

                    s = deliveryView.StreetName;
                    s = s.Length <= 9 ? s : s.Substring(0, 9) + "...";
                    deliveryView.StreetName = s;
                    s = deliveryView.City; // For display, abbreviate to 11 characters:
                    s = s.Length <= 10 ? s : s.Substring(0, 10) + "...";
                    deliveryView.City = s;
                    s = deliveryView.Phone; // For display, abbreviate to 12 characters:
                    s = s.Length <= 12 ? s : s.Substring(0, 12) + "...";
                    deliveryView.Phone = s;
                    listDeliveryViewModels.Add(deliveryView);
                }
            }
            return(View(listDeliveryViewModels));
        }
Пример #23
0
 public ActionResult SaveDiscripancy(DeliveryViewModel _deliveryViewModel, FormCollection collection)
 {
     var actionType = int.Parse(collection["Actiontype"].ToString(CultureInfo.InvariantCulture));
     var remark = collection["Remark"].ToString(CultureInfo.InvariantCulture);
     var TO = collection.Keys[2].ToString(CultureInfo.InvariantCulture);
     var delivery = _deliveryService.Get(t => t.DeliveryID == _deliveryViewModel.DeliveryID).Single();
     delivery.Status = (int)Cats.Models.Constant.DistributionStatus.Closed;
     delivery.ActionType = actionType;
     delivery.ActionTypeRemark = remark;
     _deliveryService.EditDelivery(delivery);
     return RedirectToAction("Dispatches", new { id = TO });
 }
        public IActionResult Post(string orderID, [FromBody] DeliveryViewModel order)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var entityOrderID = this._cxt.Orders
                                        .Where(o => o.CustomerID.Equals(orderID))
                                        .FirstOrDefault().ID;

                    var entityDeliveryArea = this._cxt.DeliveryAreas
                                             .Where(d => d.Region.Contains(order.Region) &&
                                                    d.District.Contains(order.District))
                                             .FirstOrDefault();

                    var entityTranspostCost = new TransportCost();

                    if (order.Weight < 500)
                    {
                        entityTranspostCost = this._cxt.TransportCost.Where(o => o.Payload == 500).FirstOrDefault();
                    }
                    else if (order.Weight > 500 && order.Weight < 1000)
                    {
                        entityTranspostCost = this._cxt.TransportCost.Where(o => o.Payload == 1000).FirstOrDefault();
                    }
                    else
                    {
                        entityTranspostCost = this._cxt.TransportCost.Where(o => o.Payload == 2000).FirstOrDefault();
                    }

                    this._cxt.Deliveries.Add(new Delivery
                    {
                        OrderID         = entityOrderID,
                        TransportCostID = entityTranspostCost.ID,
                        DeliveryAreaID  = entityDeliveryArea.ID,
                        Weight          = order.Weight,
                        DeliveryCost    = order.cost,
                    });
                    if (this._cxt.SaveChanges() > 0)
                    {
                        var d = new CustomerDeliveryView();
                        d.Region       = order.Region;
                        d.District     = order.District;
                        d.DeliveryCost = order.cost;

                        d.Weight = order.Weight;
                        return(Created($"api/Delivery/{orderID}", d));
                    }
                    else
                    {
                        return(BadRequest("You Order Could not be saved"));
                    }
                }
                else
                {
                    return(BadRequest("You Order Could not be saved"));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }
Пример #25
0
 public DeliveryView()
 {
     DataContext = new DeliveryViewModel();
     InitializeComponent();
 }
Пример #26
0
        public ActionResult Delivery(DeliveryViewModel customer)
        {
            return(Customer(customer));

            //return View("Index");
        }
Пример #27
0
        public async Task <IActionResult> Edit(DeliveryViewModel model, CancellationToken token)
        {
            var entity = await _context.Deliveries.SingleAsync(a => a.Id == model.Id, token);

            return(RedirectToAction("Edit", new { entity.Id }));
        }
Пример #28
0
        private DeliveryViewModel CreateGoodsReceivingNote(Cats.Models.Hubs.Dispatch dispatch)
        {
            if (dispatch == null) return new DeliveryViewModel();
            var delivery = new DeliveryViewModel();
            delivery.DeliveryDate = DateTime.Today;
            delivery.DispatchID = dispatch.DispatchID;
            delivery.DeliveryDate = DateTime.Today;
            delivery.DocumentReceivedBy = UserAccountHelper.GetUser(User.Identity.Name).UserProfileID;
            delivery.DocumentReceivedDate = DateTime.Today;
            delivery.DeliveryID = Guid.NewGuid();
            //delivery.DonorID=dispatch.
            delivery.DriverName = dispatch.DriverName;
            delivery.FDPID = dispatch.FDPID.Value;
            delivery.HubID = dispatch.HubID;
            delivery.TransporterID = dispatch.TransporterID;
            delivery.InvoiceNo = dispatch.GIN;
            delivery.PlateNoPrimary = dispatch.PlateNo_Prime;
            delivery.PlateNoTrailler = dispatch.PlateNo_Trailer;
            delivery.RequisitionNo = dispatch.RequisitionNo;
            delivery.FDP = dispatch.FDP.Name;
            delivery.Region = dispatch.FDP.AdminUnit.AdminUnit2.AdminUnit2.Name;
            delivery.Zone = dispatch.FDP.AdminUnit.AdminUnit2.Name;
            delivery.Woreda = dispatch.FDP.AdminUnit.Name;
            delivery.Hub = dispatch.Hub.Name;
            delivery.Transporter = dispatch.Transporter.Name;

            //foreach (var dispatchDetail in dispatch.DispatchDetails)
            //{
            //    var deliveryDetail = new DistributionDetail();
            //    deliveryDetail.DistributionID = distribution.DistributionID;
            //    deliveryDetail.DistributionDetailID = Guid.NewGuid();
            //    deliveryDetail.CommodityID = dispatchDetail.CommodityID;
            //    deliveryDetail.ReceivedQuantity = 0;
            //    deliveryDetail.SentQuantity = dispatchDetail.RequestedQuantityInMT;
            //    deliveryDetail.UnitID = dispatchDetail.UnitID;

            //}
            return delivery;
        }
 public AddDeliveryButton(DeliveryViewModel deliveryViewModel)
 {
     this.deliveryViewModel = deliveryViewModel;
 }
Пример #30
0
        private DeliveryViewModel EditGoodsReceivingNote(Delivery delivery)
        {
            if (delivery == null) return new DeliveryViewModel();
            var dispatch = _dispatchService.Get(t => t.DispatchID == delivery.DispatchID, null,
               "FDP,FDP.AdminUnit,FDP.AdminUnit.AdminUnit2,FDP.AdminUnit.AdminUnit2.AdminUnit2,Transporter,Hub").FirstOrDefault();

            var deliveryViewModel = new DeliveryViewModel();

            deliveryViewModel.DispatchID = delivery.DispatchID;
            deliveryViewModel.DeliveryDate = delivery.DeliveryDate;
            deliveryViewModel.DocumentReceivedBy = delivery.DocumentReceivedBy;
            deliveryViewModel.DocumentReceivedDate = delivery.DocumentReceivedDate;
            deliveryViewModel.DeliveryID = delivery.DeliveryID;
            //distribution.DonorID=dispatch.
            deliveryViewModel.DriverName = delivery.DriverName;
            deliveryViewModel.FDPID = delivery.FDPID;
            deliveryViewModel.HubID = delivery.HubID;
            deliveryViewModel.TransporterID = delivery.TransporterID;
            deliveryViewModel.InvoiceNo = delivery.InvoiceNo;
            deliveryViewModel.PlateNoPrimary = delivery.PlateNoPrimary;
            deliveryViewModel.PlateNoTrailler = delivery.PlateNoTrailler;
            deliveryViewModel.RequisitionNo = delivery.RequisitionNo;
            deliveryViewModel.FDP = dispatch.FDP.Name;
            deliveryViewModel.Region = dispatch.FDP.AdminUnit.AdminUnit2.AdminUnit2.Name;
            deliveryViewModel.Zone = dispatch.FDP.AdminUnit.AdminUnit2.Name;
            deliveryViewModel.Woreda = dispatch.FDP.AdminUnit.Name;
            deliveryViewModel.Hub = dispatch.Hub.Name;
            deliveryViewModel.DeliveryBy = delivery.DeliveryBy;
            deliveryViewModel.ReceivedBy = delivery.ReceivedBy;
            deliveryViewModel.ReceivedDate = delivery.ReceivedDate;
            deliveryViewModel.ReceivingNumber = delivery.ReceivingNumber;
            deliveryViewModel.InvoiceNo = delivery.InvoiceNo;
            deliveryViewModel.WayBillNo = delivery.WayBillNo;
            deliveryViewModel.RequisitionNo = delivery.RequisitionNo;
            deliveryViewModel.Transporter = dispatch.Transporter.Name;
            deliveryViewModel.Status = delivery.Status;
            deliveryViewModel.ActionTypeRemark = delivery.ActionTypeRemark;
            var pref = UserAccountHelper.UserCalendarPreference();
            deliveryViewModel.DeliveryDatePref = delivery.DeliveryDate.HasValue
                                                         ? delivery.DeliveryDate.Value.ToCTSPreferedDateFormat(pref)
                                                         : "";
            deliveryViewModel.ReceivedDatePref = delivery.ReceivedDate.HasValue
                                                         ? delivery.ReceivedDate.Value.ToCTSPreferedDateFormat(pref)
                                                         : "";
            deliveryViewModel.DocumentReceivedDatePref = delivery.DocumentReceivedDate.HasValue
                                                                 ? delivery.DocumentReceivedDate.Value.
                                                                       ToCTSPreferedDateFormat(pref)
                                                                 : "";

            deliveryViewModel.ContainsDiscripancy =
                delivery.DeliveryDetails.Any(t => t.ReceivedQuantity < t.SentQuantity);
            //foreach (var dispatchDetail in dispatch.DispatchDetails)
            //{
            //    var deliveryDetail = new DistributionDetail();
            //    deliveryDetail.DistributionID = distribution.DistributionID;
            //    deliveryDetail.DistributionDetailID = Guid.NewGuid();
            //    deliveryDetail.CommodityID = dispatchDetail.CommodityID;
            //    deliveryDetail.ReceivedQuantity = 0;
            //    deliveryDetail.SentQuantity = dispatchDetail.RequestedQuantityInMT;
            //    deliveryDetail.UnitID = dispatchDetail.UnitID;

            //}
            return deliveryViewModel;
        }
Пример #31
0
        private void DataGrid_MouseMove(object sender, MouseEventArgs e)
        {
            DeliveryViewModel dvm = DataContext as DeliveryViewModel;

            dvm.UpdateSum();
        }
Пример #32
0
        public DeliveryView()
        {
            InitializeComponent();

            BindingContext = new DeliveryViewModel(Navigation);
        }
Пример #33
0
        public JsonResult Edit(DeliveryViewModel delivery)
        {
            var p = new Page();

            try
            {
                var d = db.Deliveries.Find(delivery.ID);
                d.Note                 = delivery.Note;
                d.UpdatedBy            = "admin";
                d.UpdatedDate          = DateTime.Now;
                d.UsernameFromDelivery = delivery.UsernameFromDelivery;
                d.UsernameToDelivery   = delivery.UsernameToDelivery;

                foreach (var item in delivery.DeliveryDetails)
                {
                    switch (item.Action)
                    {
                    case ActionEnum.ADD:
                        var deliver = new DeliveryDetail()
                        {
                            CreatedBy   = "admin",
                            CreatedDate = DateTime.Now,
                            Note        = item.Note,
                            DateExpires = item.DateExpires,
                            IDDelivery  = d.ID,
                            IDDevice    = item.IDDevice,
                            Quantity    = item.Quantity,
                        };
                        db.DeliveryDetails.Add(deliver);
                        break;

                    case ActionEnum.EDIT:
                        var deli = db.DeliveryDetails.Find(item.ID);
                        deli.IDDevice    = item.IDDevice;
                        deli.Note        = item.Note;
                        deli.Quantity    = item.Quantity;
                        deli.DateExpires = item.DateExpires;
                        deli.UpdatedBy   = "admin";
                        deli.UpdatedDate = DateTime.Now;
                        break;

                    case ActionEnum.DELETE:
                        db.DeliveryDetails.Remove(db.DeliveryDetails.Find(item.ID));
                        break;

                    case ActionEnum.NONE:
                        break;

                    default:
                        break;
                    }
                }

                db.SaveChanges();

                p.Message      = "Lưu thành công";
                p.MessageLevel = MessageLevel.SUCCESS;

                return(Json(p));
            }
            catch (Exception ex)
            {
                p.Message      = "Lưu thất bại: " + ex.Message;
                p.MessageLevel = MessageLevel.ERROR;

                return(Json(p));
            }
        }
Пример #34
0
        public ActionResult EditGRN(DeliveryViewModel deliveryViewModel)
        {
            if (ModelState.IsValid)
            {
                int transportOrderId = 0;

                var delivery = _deliveryService.Get(t => t.DeliveryID == deliveryViewModel.DeliveryID, null,
                    "DeliveryDetails,FDP,Hub").FirstOrDefault();

                var dispatch = _dispatchService.Get(t => t.DispatchID == deliveryViewModel.DispatchID, null,
                   "DispatchAllocation").FirstOrDefault();

                delivery.DeliveryBy = deliveryViewModel.DeliveryBy;
                delivery.DeliveryDate = deliveryViewModel.DeliveryDate;

                delivery.DocumentReceivedBy = deliveryViewModel.DocumentReceivedBy;
                delivery.DocumentReceivedDate = deliveryViewModel.DocumentReceivedDate;

                delivery.DriverName = deliveryViewModel.DriverName;

                delivery.InvoiceNo = deliveryViewModel.InvoiceNo;
                delivery.PlateNoPrimary = deliveryViewModel.PlateNoPrimary;
                delivery.PlateNoTrailler = deliveryViewModel.PlateNoTrailler;
                delivery.ReceivedBy = deliveryViewModel.ReceivedBy;
                delivery.ReceivedDate = deliveryViewModel.ReceivedDate;
                delivery.ReceivingNumber = deliveryViewModel.ReceivingNumber;
                delivery.RequisitionNo = deliveryViewModel.RequisitionNo;
                delivery.TransporterID = deliveryViewModel.TransporterID;
                delivery.WayBillNo = deliveryViewModel.WayBillNo;
                _deliveryService.EditDelivery(delivery);
                if (dispatch.DispatchAllocation.TransportOrderID.HasValue)
                    transportOrderId = dispatch.DispatchAllocation.TransportOrderID.Value;
                return RedirectToAction("Dispatches", "Delivery", new { Area = "Logistics", id = transportOrderId });
            }

            return View(deliveryViewModel);
        }
Пример #35
0
        public ActionResult ReceiveGRN(DeliveryViewModel deliveryViewModel)
        {
            if (ModelState.IsValid)
            {
                int transportOrderId = 0;

                var dispatch = _dispatchService.Get(t => t.DispatchID == deliveryViewModel.DispatchID, null,
                    "DispatchDetails,DispatchAllocation").FirstOrDefault();

                var delivery = new Delivery();
                delivery.DeliveryBy = deliveryViewModel.DeliveryBy;
                delivery.DeliveryDate = deliveryViewModel.DeliveryDate;
                delivery.DispatchID = deliveryViewModel.DispatchID;
                delivery.DeliveryID = deliveryViewModel.DeliveryID;
                delivery.DocumentReceivedBy = deliveryViewModel.DocumentReceivedBy;
                delivery.DocumentReceivedDate = deliveryViewModel.DocumentReceivedDate;
                delivery.DonorID = deliveryViewModel.DonorID;
                delivery.DriverName = deliveryViewModel.DriverName;
                delivery.FDPID = deliveryViewModel.FDPID;
                delivery.HubID = deliveryViewModel.HubID;
                delivery.InvoiceNo = deliveryViewModel.InvoiceNo;
                delivery.PlateNoPrimary = deliveryViewModel.PlateNoPrimary;
                delivery.PlateNoTrailler = deliveryViewModel.PlateNoTrailler;
                delivery.ReceivedBy = deliveryViewModel.ReceivedBy;
                delivery.ReceivedDate = deliveryViewModel.ReceivedDate;
                delivery.ReceivingNumber = deliveryViewModel.ReceivingNumber;
                delivery.RequisitionNo = deliveryViewModel.RequisitionNo;
                delivery.TransporterID = deliveryViewModel.TransporterID;
                delivery.WayBillNo = deliveryViewModel.WayBillNo;
                if (dispatch != null)
                {

                    foreach (var dispatchDetail in dispatch.DispatchDetails)
                    {
                        var deliveryDetail = new DeliveryDetail();
                        deliveryDetail.DeliveryID = delivery.DeliveryID;
                        deliveryDetail.DeliveryDetailID = Guid.NewGuid();
                        deliveryDetail.CommodityID = dispatchDetail.CommodityID;
                        deliveryDetail.ReceivedQuantity = 0;
                        deliveryDetail.SentQuantity = dispatchDetail.RequestedQuantityInMT;
                        deliveryDetail.UnitID = dispatchDetail.UnitID;
                        delivery.DeliveryDetails.Add(deliveryDetail);

                    }

                    _deliveryService.AddDelivery(delivery);

                    var dispatchAllocation = dispatch.DispatchAllocation;
                    if (dispatchAllocation != null)
                    {
                        transportOrderId = dispatchAllocation.TransportOrderID.HasValue ? dispatchAllocation.TransportOrderID.Value : 0;
                    }
                }
                return RedirectToAction("EditGRN", "Delivery", new { Area = "Logistics", id = delivery.DeliveryID });
            }

            return View(deliveryViewModel);
        }
Пример #36
0
        public async Task <IActionResult> Finish(DeliveryViewModel deliveryViewModel)
        {
            var result = await this.deliveryService.Finish(deliveryViewModel.Id);

            return(this.Redirect("/Administration/Delivery/All"));
        }