예제 #1
0
        public JsonResult GetOrderStatusByOrderId(string id)
        {
            ValidateSession();

            try
            {
                var orderStatus = _orderStatusLogic.GetList().Where(c => c.OrderId == Convert.ToInt32(id)).FirstOrDefault();

                return(Json(JsonConvert.SerializeObject(orderStatus)));
            }
            catch (Exception ex)
            {
                return(Json(""));
            }
        }
예제 #2
0
        public IActionResult Index()
        {
            ValidateSession();

            var orderList       = _orderLogic.GetList();
            var orderStatusList = _orderStatusLogic.GetList();

            var orders = (from order in orderList
                          join status in orderStatusList on order.Id equals status.OrderId
                          where status.IsPickedup != true && order.OrderTypeId != 3 && order.TotalOrderCost > 0
                          select order).ToList();

            ViewBag.OrderCount = orders.Count;

            ViewBag.UserId    = sessionData.UserId;
            ViewBag.FirstName = sessionData.FirstName;

            return(View());
        }
        public IActionResult PartialLoadEmployeeOrders(string empId, string fromDate, string toDate)
        {
            List <ViewModel_PayrollOrder> viewModelPayrollOrders = new List <ViewModel_PayrollOrder>();

            if (empId != "")
            {
                int      selectedEmpId    = Convert.ToInt16(empId);
                DateTime selectedFromDate = Convert.ToDateTime(fromDate);
                DateTime selectedToDate   = Convert.ToDateTime(toDate);

                _deliveryOptionLogic = new Lms_DeliveryOptionLogic(_cache, new EntityFrameworkGenericRepository <Lms_DeliveryOptionPoco>(_dbContext));
                var deliveryOptionList = _deliveryOptionLogic.GetList();

                _employeeLogic = new Lms_EmployeeLogic(_cache, new EntityFrameworkGenericRepository <Lms_EmployeePoco>(_dbContext));
                var employeeList = _employeeLogic.GetList();

                _additionalServiceLogic = new Lms_OrderAdditionalServiceLogic(_cache, new EntityFrameworkGenericRepository <Lms_OrderAdditionalServicePoco>(_dbContext));

                _orderLogic = new Lms_OrderLogic(_cache, new EntityFrameworkGenericRepository <Lms_OrderPoco>(_dbContext));
                var orderList = _orderLogic.GetList();

                _orderStatusLogic = new Lms_OrderStatusLogic(_cache, new EntityFrameworkGenericRepository <Lms_OrderStatusPoco>(_dbContext));
                var orderStatusList = _orderStatusLogic.GetList().Where(c => (c.DispatchedToEmployeeId == selectedEmpId || c.PassedOffToEmployeeId == selectedEmpId) && c.CreateDate >= selectedFromDate && c.CreateDate <= selectedToDate && c.IsDelivered == true).ToList();

                orderList = (from order in orderList
                             join status in orderStatusList on order.Id equals status.OrderId
                             select order).ToList();

                foreach (var order in orderList)
                {
                    ViewModel_PayrollOrder payrollOrder = new ViewModel_PayrollOrder();
                    var empInfo = _employeeLogic.GetSingleById(selectedEmpId);

                    var orderStatus = orderStatusList.Where(c => c.OrderId == order.Id).FirstOrDefault();


                    payrollOrder.WaybillNumber           = order.WayBillNumber;
                    payrollOrder.WaybillDate             = order.CreateDate;
                    payrollOrder.OrderType               = order.OrderTypeId == 1 ? "Single" : "Return";
                    payrollOrder.DeliveryOptionShortCode = deliveryOptionList.Where(c => c.Id == order.DeliveryOptionId).FirstOrDefault().ShortCode;
                    payrollOrder.PickupEmployeeId        = (int)orderStatus.DispatchedToEmployeeId;
                    payrollOrder.PickupEmployeeName      = employeeList.Where(c => c.Id == payrollOrder.PickupEmployeeId).FirstOrDefault().FirstName;

                    var deliveryEmpId = orderStatusList.Where(c => c.OrderId == order.Id).FirstOrDefault().PassedOffToEmployeeId;
                    if (deliveryEmpId != null && deliveryEmpId > 0)
                    {
                        payrollOrder.DeliveryEmployeeId   = (int)orderStatus.PassedOffToEmployeeId;
                        payrollOrder.DeliveryEmployeeName = employeeList.Where(c => c.Id == payrollOrder.DeliveryEmployeeId).FirstOrDefault().FirstName;
                    }
                    else
                    {
                        payrollOrder.DeliveryEmployeeId   = payrollOrder.PickupEmployeeId;
                        payrollOrder.DeliveryEmployeeName = payrollOrder.PickupEmployeeName;
                    }

                    payrollOrder.WaybillBaseAmount = order.OrderBasicCost;
                    if (order.BasicCostOverriden != null && order.BasicCostOverriden > 0)
                    {
                        payrollOrder.WaybillBaseAmount = (decimal)order.BasicCostOverriden;
                    }

                    payrollOrder.OrderCommissionPercent = empInfo.CommissionPercentage == null ? 0 : (decimal)empInfo.CommissionPercentage;
                    payrollOrder.OrderFuelPercent       = empInfo.FuelPercentage == null ? 0 : (decimal)empInfo.FuelPercentage;

                    payrollOrder.OrderCommissionAmnt = payrollOrder.WaybillBaseAmount * payrollOrder.OrderCommissionPercent / 100;
                    payrollOrder.OrderFuelAmnt       = payrollOrder.WaybillBaseAmount * payrollOrder.OrderFuelPercent / 100;

                    payrollOrder.AddServiceAmnt = 0;

                    var additionalServices = _additionalServiceLogic.GetList().Where(c => c.OrderId == order.Id);
                    foreach (var addSrv in additionalServices)
                    {
                        if (addSrv.DriverPercentageOnAddService != null && addSrv.DriverPercentageOnAddService > 0)
                        {
                            payrollOrder.AddServiceAmnt = payrollOrder.AddServiceAmnt + (addSrv.AdditionalServiceFee * (decimal)addSrv.DriverPercentageOnAddService / 100);
                        }
                    }
                    payrollOrder.WaitTime = orderStatus.DeliveryWaitTimeHour;

                    viewModelPayrollOrders.Add(payrollOrder);
                }
            }

            return(PartialView("_PartialViewEmployeeDeliveries", viewModelPayrollOrders));
        }
        public IActionResult Index()
        {
            var customerList = _orderStatusLogic.GetList();

            return(View());
        }