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