Beispiel #1
0
        public JsonResult Courier_Insert(AddCourierRequest request)
        {
            GeneralResponse response = new GeneralResponse();

            EmployeeView employee = GetEmployee();

            #region Access Check

            bool hasPermission = employee.IsGuaranteed("Courier_Insert");
            if (!hasPermission)
            {
                response.ErrorMessages.Add("AccessDenied");
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            #endregion



            response = _courierService.AddCourier(request, employee.ID);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public GeneralResponse AddCourier(AddCourierRequest request, Guid CreateEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                Courier courier = new Courier();
                courier.ID              = Guid.NewGuid();
                courier.CreateDate      = PersianDateTime.Now;
                courier.CreateEmployee  = _employeeRepository.FindBy(CreateEmployeeID);
                courier.Amount          = request.Amount;
                courier.BuildingUnits   = request.BuildingUnits;
                courier.CourierCost     = request.CourierCost;
                courier.CourierEmployee = null;
                courier.CourierStatuse  = Courier.CourierStatuses.Pending;
                courier.CourierType     = (Courier.CourierTypes)request.CourierType;
                courier.DeliverDate     = request.DeliverDate;
                courier.DeliverTime     = request.DeliverTime;
                courier.SaleComment     = request.SaleComment;
                courier.Sale            = _saleRepository.FindBy(request.SaleID);
                courier.RowVersion      = 1;

                Sale sale = _saleRepository.FindBy(request.SaleID);

                #region Getting Sale Details


                //Query query = new Query();

                //Criterion SaleIDCriteria = new Criterion("Sale.ID", sale.ID, CriteriaOperator.Equal);
                //query.Add(SaleIDCriteria);

                //ProductSaleDetail productSaleDetail = _productSaleDetailRepository.FindBy(query).FirstOrDefault();
                //CreditSaleDetail creditSaleDetail = _creditSaleDetailRepository.FindBy(query).FirstOrDefault();
                //UncreditSaleDetail uncreditSaleDetail = _uncreditSaleDetailRepository.FindBy(query).FirstOrDefault();

                //long  bonus = 0;
                //if (creditSaleDetail != null)
                //{

                //    Query query1 = new Query();

                //    Criterion SaleIDCriteria1 = new Criterion("CreditSaleDetail.ID", creditSaleDetail.ID, CriteriaOperator.Equal);
                //    query1.Add(SaleIDCriteria1);
                //    BonusComission temp= _bonusComissionRepository.FindBy(query1).FirstOrDefault();
                //    bonus += temp.Bonus;
                //}
                //if (productSaleDetail != null)
                //{
                //    Query query1 = new Query();

                //    Criterion SaleIDCriteria1 = new Criterion("ProductSaleDetail.ID", productSaleDetail.ID, CriteriaOperator.Equal);
                //    query1.Add(SaleIDCriteria1);
                //    BonusComission temp = _bonusComissionRepository.FindBy(query1).FirstOrDefault();
                //    bonus += temp.Bonus;
                //}
                //if (uncreditSaleDetail != null)
                //{
                //    Query query1 = new Query();
                //    Criterion SaleIDCriteria1 = new Criterion("UnCreditSaleDetail.ID", uncreditSaleDetail.ID, CriteriaOperator.Equal);
                //    query1.Add(SaleIDCriteria1);
                //    BonusComission temp = _bonusComissionRepository.FindBy(query1).FirstOrDefault();
                //    bonus += temp.Bonus;
                //}

                #endregion

                //courier.Bonus = bonus;
                courier.Sale.Couriers   = courier;
                courier.Sale.HasCourier = true;
                _courierRepository.Add(courier);


                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }