public ActionResult AssignmentDetail(int AnchorTransactionID, int TransactionTypeID)
        {
            ViewBag.Title   = "";
            ViewBag.Message = "";

            AssignmentBussines.GetAssignmentRequest request = new AssignmentBussines.GetAssignmentRequest()
            {
                AssignmentID = AnchorTransactionID,
            };
            TransactionConfigurateBussines.GetTransactionConfigurateRequest requestTransaction = new TransactionConfigurateBussines.GetTransactionConfigurateRequest()
            {
                AnchorTransactionID = AnchorTransactionID,
                TransactionTypeID   = TransactionTypeID
            };

            AssignmentBussines.GetAssignmentResponse c = AssignmentBussines.Select.GetAssignment(request);
            int to = TransactionConfigurateBussines.Select.GetTotalAmountToTransaction(requestTransaction).TotalAmount;

            request.ProductID = (int)c.Assignment.idProduct;

            var model = new AssignmentViewModels()
            {
                Error                = c.Error,
                total                = to,
                Assignment           = c.Assignment,
                Transaction          = new Transactions(),
                TransactionList      = TransactionConfigurateBussines.Select.GetTransactionList(requestTransaction).TransactionList,
                ProductList          = ProductBussines.Select.GetProduct().ProductList,
                AssignmentList       = AssignmentBussines.Select.GetAssignmentByProductID(request).AssignmentList,
                ProviderList         = ProviderBussines.Select.GetProviderList().ProviderList,
                ConditionProductList = ConditionProductBussines.Select.GetConditionProductList().ConditionProductList
            };

            return(PartialView(model));
        }
        public ActionResult AssignmentView(string CategoryID, string FatherCateogryID, string CellarArea, bool successful = false, string ResultAction = "")
        {
            ViewBag.Title      = "";
            ViewBag.successful = successful;
            ViewBag.Message    = ResultAction;

            AssignmentBussines.GetAssignmentRequest request = new AssignmentBussines.GetAssignmentRequest()
            {
                CategoryID        = Convert.ToInt16(CategoryID),
                TransactionTypeID = 2
            };
            AssignmentBussines.GetAssignmentRequest requestFather = new AssignmentBussines.GetAssignmentRequest()
            {
                CategoryID = Convert.ToInt16(CategoryID)
            };

            var BussinesData = AssignmentBussines.Select.GetAssignmentList(request);
            var model        = new AssignmentViewModels()
            {
                Error                = BussinesData.Error,
                CategoryID           = CategoryID,
                CategoryIDFhater     = FatherCateogryID,
                CellarArea           = CellarArea,
                AssignmentList       = BussinesData.AssignmentList,
                GetCategoryName      = CategoryBussines.Select.GetCategoryName(Convert.ToInt16(CategoryID)).Category.name,
                GetCategoryFaherName = CategoryBussines.Select.GetCategoryName(Convert.ToInt16(FatherCateogryID)).Category.name,
                ConditionProductList = ConditionProductBussines.Select.GetConditionProductList().ConditionProductList
            };

            return(View(model));
        }
        public ActionResult AssignmentUpdate(int id, string CategoryID, string FatherCateogryID, string CellarArea)
        {
            AssignmentBussines.GetAssignmentRequest request = new AssignmentBussines.GetAssignmentRequest()
            {
                AssignmentID = id,
            };
            AssignmentBussines.GetAssignmentResponse a = AssignmentBussines.Select.GetAssignment(request);
            request.ProductID = (int)a.Assignment.idProduct;

            ProductBussines.GetProductRequest request2 = new ProductBussines.GetProductRequest()
            {
                ProductID = (int)a.Assignment.idProduct
            };
            var model = new AssignmentViewModels()
            {
                Error            = a.Error,
                Assignment       = a.Assignment,
                CategoryID       = CategoryID,
                CategoryIDFhater = FatherCateogryID,
                CellarArea       = CellarArea,
                EmployeesList    = EmployeeBussines.Select.GetEmployeeList().EmployeeList
            };

            ViewBag.Title   = "Update Asignment To " + ProductBussines.Select.GetProduct(request2).Product.name;
            ViewBag.Message = "";

            return(PartialView(model));
        }
        public ActionResult AssignmentNewInflow(string CategoryID, string FatherCateogryID, string CellarArea, int AnchorTransactionID, int TransactionTypeID)
        {
            ViewBag.Title   = "";
            ViewBag.Message = "";

            AssignmentBussines.GetAssignmentRequest request = new AssignmentBussines.GetAssignmentRequest()
            {
                AssignmentID = AnchorTransactionID,
            };
            TransactionConfigurateBussines.GetTransactionConfigurateRequest requestTransaction = new TransactionConfigurateBussines.GetTransactionConfigurateRequest()
            {
                AnchorTransactionID = AnchorTransactionID,
                TransactionTypeID   = TransactionTypeID
            };
            ProductBussines.GetProductRequest requestProduct = new ProductBussines.GetProductRequest()
            {
                CellarAreaID = Convert.ToInt16(CellarArea)
            };

            AssignmentBussines.GetAssignmentResponse c = AssignmentBussines.Select.GetAssignment(request);
            int to = TransactionConfigurateBussines.Select.GetTotalAmountToTransaction(requestTransaction).TotalAmount;

            request.ProductID = (int)c.Assignment.idProduct;

            var model = new AssignmentViewModels()
            {
                Error                = c.Error,
                total                = to,
                Assignment           = c.Assignment,
                Transaction          = new Transactions(),
                TransactionList      = TransactionConfigurateBussines.Select.GetTransactionList(requestTransaction).TransactionList,
                AssignmentList       = AssignmentBussines.Select.GetAssignmentByProductID(request).AssignmentList,
                ConditionProductList = ConditionProductBussines.Select.GetConditionProductList().ConditionProductList,



                CategoryID       = CategoryID,
                CategoryIDFhater = FatherCateogryID,
                CellarArea       = CellarArea,
                ProductList      = ProductBussines.Select.GetProductByAssignmentType(requestProduct).ProductList,
                EmployeesList    = EmployeeBussines.Select.GetEmployeeList().EmployeeList,
            };

            model.Assignment.idCategory = Convert.ToInt16(CategoryID);


            return(PartialView(model));
        }
            public static GetDownloadResponse Download(GetDownloadResponse AssignmentInformation, GetDownloadRequest request)
            {
                GetDownloadResponse response = new GetDownloadResponse();

                response.Error = new Handler.ErrorObject();
                try
                {
                    request.DownloadID = Convert.ToInt16(Downloads(AssignmentInformation).Message);
                    var result = Transaction.TransactionConfigurateBussines.Insert.TransactionConfigurate(request.DownloadID, request.TransactionTypeID, AssignmentInformation.transaction);


                    #region Assignment Update
                    AssignmentBussines.GetAssignmentRequest req = new AssignmentBussines.GetAssignmentRequest()
                    {
                        ProductID  = (int)AssignmentInformation.Download.idProduct,
                        CategoryID = (int)request.CategoryID
                    };
                    var data            = AssignmentBussines.Select.GetAssignmentToProductIDAndCategory(req).Assignment;
                    int newAmountCellar = (int)data.amount - (int)AssignmentInformation.transaction.amount;

                    AssignmentBussines.GetAssignmentRequest requestCellar = new AssignmentBussines.GetAssignmentRequest()
                    {
                        AssignmentID = data.id,
                        amount       = newAmountCellar
                    };
                    AssignmentBussines.Update.AssignmentAmount(requestCellar);
                    #endregion

                    #region Condition Update
                    TransactionConfigurateBussines.Insert.ConditionBackUpdate(2, data.id, (int)AssignmentInformation.transaction.idConditionProduct, (int)AssignmentInformation.transaction.amount);
                    #endregion



                    response.Message = result.Message.ToString();
                }
                catch (Exception ex)
                {
                    response.Error.InfoError(ex);
                }
                return(response);
            }
        public ActionResult AssignmentNewInflow(AssignmentViewModels data)
        {
            AssignmentBussines.GetAssignmentResponse assignmentData = new AssignmentBussines.GetAssignmentResponse()
            {
                Assignment  = data.Assignment,
                transaction = data.Transaction
            };

            AssignmentBussines.GetAssignmentRequest request = new AssignmentBussines.GetAssignmentRequest()
            {
                AssignmentID      = data.Assignment.id,
                TransactionTypeID = 2,
                CellarArea        = Convert.ToInt16(data.CellarArea),
                amount            = (int)data.Assignment.amount + (int)data.Transaction.amount
            };

            result = AssignmentBussines.Update.Assignment(assignmentData, request).Message;

            return(RedirectToAction("AssignmentView", new { CategoryID = data.CategoryID, FatherCateogryID = data.CategoryIDFhater, CellarArea = data.CellarArea, successful = true, ResultAction = "All Changes was successful" }));
        }