public GRNViewModel SearchGRN(GRNViewModel model)
        {
            PetaPoco.Database db = null;
            var          dbConn  = DataContext.Database.Connection;
            GRNViewModel Details = new GRNViewModel();

            try
            {
                using (DataContext)
                {
                    dbConn.Open();
                    db = new PetaPoco.Database(dbConn);
                    db.EnableAutoSelect = false;
                    Details.GRNList     = db.Query <GRN>("exec usp_SearchGRN " + "@SId",
                                                         new { SId = model.SId }).ToList();
                    dbConn.Close();
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            finally
            {
                if (dbConn != null)
                {
                    dbConn.Close();
                }
            }
            return(Details);
        }
Exemplo n.º 2
0
        private GRNViewModel BindDeliveryViewModel(Delivery delivery)
        {
            var datePref          = _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).DatePreference;
            var firstOrDefault    = _dispatchService.FindBy(t => t.DispatchID == delivery.DispatchID).FirstOrDefault();
            var deliveryViewModel = new GRNViewModel();

            if (firstOrDefault != null)
            {
                deliveryViewModel = new GRNViewModel
                {
                    DeliveryID       = delivery.DeliveryID,
                    InvoiceNo        = delivery.InvoiceNo,
                    Program          = firstOrDefault.DispatchAllocation.Program.Name,
                    BidNumber        = firstOrDefault.BidNumber,
                    DispatchDatePref = firstOrDefault.DispatchDate.ToShortDateString(),
                    CreatedDatePref  = firstOrDefault.DispatchDate.ToString(),
                    ReceivingNumber  = delivery.ReceivingNumber,
                    WayBillNo        = delivery.WayBillNo,
                    ReceivedBy       = delivery.ReceivedBy,
                    ReceivedDate     = delivery.ReceivedDate != null?delivery.ReceivedDate.Value.ToShortDateString() : "",
                                           DeliveryBy   = delivery.DeliveryBy,
                                           DeliveryDate = delivery.DeliveryDate != null?delivery.DeliveryDate.Value.ToShortDateString() : "",
                                                              DocumentReceivedDate = delivery.DocumentReceivedDate != null?delivery.DocumentReceivedDate.Value.ToShortDateString() : "",
                                                                                         RequisitionNo   = delivery.RequisitionNo,
                                                                                         FDP             = delivery.FDP.Name,
                                                                                         PlateNoPrimary  = delivery.PlateNoPrimary,
                                                                                         PlateNoTrailler = delivery.PlateNoTrailler,
                                                                                         DriverName      = delivery.DriverName,
                                                                                         DispatchID      = delivery.DispatchID
                };
            }
            return(deliveryViewModel);
        }
Exemplo n.º 3
0
        public ActionResult SearchGRN(GRNViewModel Model)
        {
            StoreService service = new StoreService();

            Model = service.SearchGRN(Model);
            return(PartialView("_GRNGrid", Model.GRNList));
        }
Exemplo n.º 4
0
        public ActionResult LoadGRN(Guid id)
        {
            var delivery          = _deliveryService.Get(t => t.DispatchID == id).FirstOrDefault();
            var deliveryViewModel = new GRNViewModel();

            if (delivery != null)
            {
                deliveryViewModel = BindDeliveryViewModel(delivery);
                var deliveryDetail =
                    _deliveryDetailService.Get(t => t.DeliveryID == delivery.DeliveryID, null, "Commodity,Unit,Delivery").
                    FirstOrDefault();
                if (deliveryDetail != null)
                {
                    deliveryViewModel.DeliveryID       = deliveryDetail.DeliveryID;
                    deliveryViewModel.CommodityID      = deliveryDetail.CommodityID;
                    deliveryViewModel.UnitID           = deliveryDetail.UnitID;
                    deliveryViewModel.SentQuantity     = deliveryDetail.SentQuantity.ToQuintal();
                    deliveryViewModel.ReceivedQuantity = deliveryDetail.ReceivedQuantity.ToQuintal();
                    deliveryViewModel.Commodity        = deliveryDetail.Commodity.Name;
                    deliveryViewModel.Unit             = deliveryDetail.Unit.Name;
                    deliveryViewModel.DeliveryBy       = deliveryDetail.Delivery.DriverName;
                }
            }
            else
            {
                deliveryViewModel.RefNo = _transporterPaymentRequestService.Get().OrderByDescending(d => d.TransporterPaymentRequestID).Select(s => s.ReferenceNo).FirstOrDefault();
                var dispatchObj = _dispatchService.FindBy(t => t.DispatchID == id).FirstOrDefault();
                if (dispatchObj != null)
                {
                    var dispatchDetail = dispatchObj.DispatchDetails.FirstOrDefault();
                    if (dispatchDetail != null)
                    {
                        //deliveryViewModel.SentQuantity = dispatchDetail.RequestedQunatityInUnit;
                        deliveryViewModel.SentQuantity = dispatchDetail.RequestedQuantityInMT.ToQuintal(); //chahge to quintal. they receive using only quintal
                        deliveryViewModel.UnitID       = dispatchDetail.UnitID;
                        deliveryViewModel.Unit         = "Quintal";                                        //They always want to receive using quintal// _unitService.FindById(int.Parse(dispatchDetail.UnitID.ToString())).Name;
                    }
                    deliveryViewModel.CommodityID = dispatchObj.DispatchAllocation.CommodityID;
                    deliveryViewModel.Commodity   = dispatchObj.DispatchAllocation.Commodity.Name;
                    if (dispatchObj.DispatchAllocation.Unit != 0)
                    {
                    }
                    deliveryViewModel.DeliveryBy = dispatchObj.DriverName;
                }
            }
            deliveryViewModel.DispatchID = id;
            var firstOrDefault = _dispatchService.FindBy(t => t.DispatchID == id).FirstOrDefault();

            if (firstOrDefault != null)
            {
                deliveryViewModel.InvoiceNo = firstOrDefault.GIN;
            }

            return(Json(deliveryViewModel, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 5
0
        public ActionResult LoadGRN(Guid id)
        {
            var delivery          = _deliveryService.Get(t => t.DispatchID == id).FirstOrDefault();
            var deliveryViewModel = new GRNViewModel();

            if (delivery != null)
            {
                deliveryViewModel = BindDeliveryViewModel(delivery);
                var deliveryDetail =
                    _deliveryDetailService.Get(t => t.DeliveryID == delivery.DeliveryID, null, "Commodity,Unit,Delivery").
                    FirstOrDefault();
                if (deliveryDetail != null)
                {
                    deliveryViewModel.DeliveryID       = deliveryDetail.DeliveryID;
                    deliveryViewModel.CommodityID      = deliveryDetail.CommodityID;
                    deliveryViewModel.UnitID           = deliveryDetail.UnitID;
                    deliveryViewModel.SentQuantity     = deliveryDetail.SentQuantity;
                    deliveryViewModel.ReceivedQuantity = deliveryDetail.ReceivedQuantity;
                    deliveryViewModel.Commodity        = deliveryDetail.Commodity.Name;
                    deliveryViewModel.Unit             = deliveryDetail.Unit.Name;
                    deliveryViewModel.DeliveryBy       = deliveryDetail.Delivery.DriverName;
                }
            }
            else
            {
                var dispatchObj = _dispatchService.FindBy(t => t.DispatchID == id).FirstOrDefault();
                if (dispatchObj != null)
                {
                    var dispatchDetail = dispatchObj.DispatchDetails.FirstOrDefault();
                    if (dispatchDetail != null)
                    {
                        deliveryViewModel.SentQuantity = dispatchDetail.RequestedQunatityInUnit;
                    }
                    deliveryViewModel.CommodityID = dispatchObj.DispatchAllocation.CommodityID;
                    deliveryViewModel.Commodity   = dispatchObj.DispatchAllocation.Commodity.Name;
                    if (dispatchObj.DispatchAllocation.Unit != 0)
                    {
                        deliveryViewModel.UnitID = dispatchObj.DispatchAllocation.Unit;
                        deliveryViewModel.Unit   = _unitService.FindById(int.Parse(dispatchObj.DispatchAllocation.Unit.ToString())).Name;
                    }
                    deliveryViewModel.DeliveryBy = dispatchObj.DriverName;
                }
            }
            deliveryViewModel.DispatchID = id;
            var firstOrDefault = _dispatchService.FindBy(t => t.DispatchID == id).FirstOrDefault();

            if (firstOrDefault != null)
            {
                deliveryViewModel.InvoiceNo = firstOrDefault.GIN;
            }
            return(Json(deliveryViewModel, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 6
0
        public ActionResult ManageGRN(GRNViewModel Model)
        {
            StoreService service = new StoreService();

            ViewBag.Suppliers = new SelectList(AllSuppliers(), "Value", "Text");

            Model = service.SearchGRN(Model);

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_GRNGrid", Model.GRNList));
            }
            return(View("ManageGRN", Model));
        }
Exemplo n.º 7
0
        public GRNViewModel SearchGRN(GRNViewModel model)
        {
            GRNViewModel Details = new GRNViewModel();

            try
            {
                Details = _repository.SearchGRN(model);
            }

            catch (Exception ex)
            {
                throw;
            }

            return(Details);
        }
Exemplo n.º 8
0
        public ActionResult EditGRN(GRNViewModel delivery)
        {
            var originaldelivery = _deliveryService.Get(t => t.DispatchID == delivery.DispatchID, null,
                                                        "FDP,FDP.AdminUnit,FDP.AdminUnit.AdminUnit2,FDP.AdminUnit.AdminUnit2.AdminUnit2,Hub").FirstOrDefault();
            var newdelivery    = new Delivery();
            var deliveryDetail = new DeliveryDetail();

            if (originaldelivery != null)
            {
                newdelivery = _deliveryService.FindBy(t => t.DeliveryID == originaldelivery.DeliveryID).FirstOrDefault();
                if (newdelivery != null)
                {
                    newdelivery.DispatchID      = delivery.DispatchID;
                    newdelivery.ReceivingNumber = delivery.ReceivingNumber;
                    newdelivery.WayBillNo       = delivery.WayBillNo;
                    newdelivery.ReceivedBy      = delivery.ReceivedBy;
                    newdelivery.ReceivedDate    = delivery.ReceivedDate != null?DateTime.Parse(delivery.ReceivedDate) : DateTime.Now;

                    newdelivery.DeliveryBy   = delivery.DeliveryBy;
                    newdelivery.DeliveryDate = delivery.DeliveryDate != null?DateTime.Parse(delivery.DeliveryDate) : DateTime.Now;

                    newdelivery.DocumentReceivedDate = delivery.DocumentReceivedDate != null?DateTime.Parse(delivery.DocumentReceivedDate) : DateTime.Now;

                    _deliveryService.EditDelivery(newdelivery);

                    deliveryDetail =
                        _deliveryDetailService.Get(t => t.DeliveryID == newdelivery.DeliveryID, null,
                                                   "Commodity,Unit").FirstOrDefault();
                    if (deliveryDetail != null)
                    {
                        deliveryDetail.ReceivedQuantity = delivery.ReceivedQuantity;
                        _deliveryDetailService.EditDeliveryDetail(deliveryDetail);
                    }
                }
            }
            else
            {
                var dispatch = _dispatchService.FindBy(t => t.DispatchID == delivery.DispatchID).FirstOrDefault();
                //newDelivery = new Delivery();
                newdelivery.DeliveryID      = Guid.NewGuid();
                newdelivery.DispatchID      = delivery.DispatchID;
                newdelivery.ReceivingNumber = delivery.ReceivingNumber;
                newdelivery.WayBillNo       = delivery.WayBillNo;
                newdelivery.ReceivedBy      = delivery.ReceivedBy;
                newdelivery.ReceivedDate    = delivery.ReceivedDate != null?DateTime.Parse(delivery.ReceivedDate) : DateTime.Now;

                newdelivery.DeliveryBy   = delivery.DeliveryBy;
                newdelivery.DeliveryDate = delivery.DeliveryDate != null?DateTime.Parse(delivery.DeliveryDate) : DateTime.Now;

                newdelivery.DocumentReceivedDate = delivery.DocumentReceivedDate != null?DateTime.Parse(delivery.DocumentReceivedDate) : DateTime.Now;

                if (dispatch != null)
                {
                    if (dispatch.DriverName != null)
                    {
                        newdelivery.DriverName = dispatch.DriverName;
                    }
                    //newDistribution.FDP = dispatch.FDP;
                    if (dispatch.FDPID != null)
                    {
                        newdelivery.FDPID = int.Parse(dispatch.FDPID.ToString());
                    }
                    //newDistribution.Hub = dispatch.Hub;
                    newdelivery.HubID           = dispatch.HubID;
                    newdelivery.InvoiceNo       = dispatch.GIN;
                    newdelivery.PlateNoPrimary  = dispatch.PlateNo_Prime;
                    newdelivery.PlateNoTrailler = dispatch.PlateNo_Trailer;
                    newdelivery.RequisitionNo   = dispatch.RequisitionNo;
                    newdelivery.TransporterID   = dispatch.TransporterID;
                }
                //_deliveryService.AddDelivery(newdelivery);

                deliveryDetail.DeliveryDetailID = Guid.NewGuid();
                deliveryDetail.CommodityID      = delivery.CommodityID;
                deliveryDetail.UnitID           = delivery.UnitID;
                deliveryDetail.SentQuantity     = delivery.SentQuantity;
                deliveryDetail.ReceivedQuantity = delivery.ReceivedQuantity;
                //deliveryDetail.Delivery.DeliveryBy = _commodityService.FindById(delivery.CommodityID);
                //deliveryDetail.Unit = _unitService.FindById(delivery.UnitID);
                newdelivery.DeliveryDetails = new List <DeliveryDetail> {
                    deliveryDetail
                };
                _deliveryService.AddDelivery(newdelivery);

                var transporterPaymentRequest = new TransporterPaymentRequest();
                transporterPaymentRequest.ReferenceNo = "PR-" + delivery.ReceivingNumber;
                var firstOrDefault = _transportOrderService.Get(t => t.TransporterID == newdelivery.TransporterID && t.StatusID == 3).FirstOrDefault();
                if (firstOrDefault != null)
                {
                    transporterPaymentRequest.TransportOrderID = firstOrDefault.TransportOrderID;
                }
                transporterPaymentRequest.DeliveryID   = newdelivery.DeliveryID;
                transporterPaymentRequest.ShortageBirr = (decimal)0.00;
                int BP_PR = _applicationSettingService.getPaymentRequestWorkflow();

                if (BP_PR != 0)
                {
                    BusinessProcessState createdstate = new BusinessProcessState
                    {
                        DatePerformed = DateTime.Now,
                        PerformedBy   = "System",
                        Comment       = "Created workflow for Payment Request"
                    };
                    //_PaymentRequestservice.Create(request);

                    BusinessProcess bp = _businessProcessService.CreateBusinessProcess(BP_PR, transporterPaymentRequest.TransporterPaymentRequestID,
                                                                                       "PaymentRequest", createdstate);
                    transporterPaymentRequest.BusinessProcessID = bp.BusinessProcessID;
                    transporterPaymentRequest.RequestedDate     = DateTime.Now;
                    _transporterPaymentRequestService.AddTransporterPaymentRequest(transporterPaymentRequest);
                }
                ViewBag.ErrorMessage1 = "The workflow assosiated with Payment Request doesnot exist.";
                ViewBag.ErrorMessage2 = "Please make sure the workflow is created and configured.";
            }
            var deliveryViewModel = new GRNViewModel();

            if (newdelivery != null && deliveryDetail != null)
            {
                var deliveryWithFDP = _deliveryService.Get(t => t.DeliveryID == newdelivery.DeliveryID, null, "FDP").FirstOrDefault();
                deliveryViewModel = BindDeliveryViewModel(deliveryWithFDP);
                var deliveryDetailWithComodityUnit = _deliveryDetailService.Get(t => t.DeliveryDetailID == deliveryDetail.DeliveryDetailID, null, "Commodity,Unit").FirstOrDefault();
                if (deliveryDetailWithComodityUnit != null)
                {
                    deliveryViewModel.DeliveryID       = deliveryDetailWithComodityUnit.DeliveryID;
                    deliveryViewModel.CommodityID      = deliveryDetailWithComodityUnit.CommodityID;
                    deliveryViewModel.UnitID           = deliveryDetailWithComodityUnit.UnitID;
                    deliveryViewModel.SentQuantity     = deliveryDetailWithComodityUnit.SentQuantity;
                    deliveryViewModel.ReceivedQuantity = deliveryDetailWithComodityUnit.ReceivedQuantity;
                    deliveryViewModel.Commodity        = deliveryDetailWithComodityUnit.Commodity.Name;
                    deliveryViewModel.Unit             = deliveryDetailWithComodityUnit.Unit.Name;
                }
            }

            return(Json(deliveryViewModel, JsonRequestBehavior.AllowGet));
            //return View("Dispatches", distributionViewModel);
        }