示例#1
0
        public async Task <ActionResult> Edit([Bind(Include = "WayOfExceptionID,CustomerID,ProductID,SaleModalityID,IsSaleModalitySearchParam,GeographicAreaID,IsGeographicAreaSearchParam,PaymentDeadlineID,IsPaymentDeadlineSearchParam,QuantityOpenPurchaseOrder,IsQuantityOpenPurchaseOrderSearchParam,DeliveryAmount,IsDeliveryAmountSearchParam,MaximumMonthsStock,IsMaximumMonthsStockSearchParam,ExchangeTypeID,IsExchangeTypeSearchParam,ExceptionPrice,ExceptionApplyType,IsMinimumQuantityDeliverySearchParam")] WayOfException wayOfException)
        {
            string resultValid = IsValidProductQuoteInput(wayOfException);

            if (resultValid != string.Empty)
            {
                ModelState.AddModelError(string.Empty, resultValid);
            }

            if (ModelState.IsValid)
            {
                await wayOfExceptionRepository.UpdateAsync(wayOfException);

                return(RedirectToAction("Index"));
            }

            ViewBag.CustomerID         = new SelectList(customerRepository.FindCustomers(), "CustomerID", "Company", wayOfException.CustomerID);
            ViewBag.ProductID          = new SelectList(productRepository.Products(), "ProductID", "FullName", wayOfException.ProductID);
            ViewBag.SaleModalityID     = new SelectList(saleModalityRepository.SaleModalitys(), "SaleModalityID", "Description", wayOfException.SaleModalityID);
            ViewBag.GeographicAreaID   = new SelectList(geographicAreaRepository.GeographicAreas(), "GeographicAreaID", "Name", wayOfException.GeographicAreaID);
            ViewBag.PaymentDeadlineID  = new SelectList(paymentDeadlineRepository.PaymentDeadlines(), "PaymentDeadlineID", "Description", wayOfException.PaymentDeadlineID);
            ViewBag.ExchangeTypeID     = new SelectList(exchangeTypeRepository.ExchangeTypes(), "ExchangeTypeID", "Description", wayOfException.ExchangeTypeID);
            ViewBag.DeliveryAmount     = new SelectList(deliveryAmountRepository.DeliveryAmounts(), "DeliveryAmountID", "Description", wayOfException.DeliveryAmount);
            ViewBag.MaximumMonthsStock = new SelectList(stockTimeRepository.StockTimes(), "StockTimeID", "Description", wayOfException.MaximumMonthsStock);

            return(View(wayOfException));
        }
示例#2
0
        public async Task <ActionResult> Details(int id)
        {
            WayOfException wayOfException = await wayOfExceptionRepository.FindWayOfExceptionsByIDAsync(id);

            if (wayOfException == null)
            {
                return(HttpNotFound());
            }
            return(View(wayOfException));
        }
示例#3
0
        public async Task <ActionResult> Edit(int id)
        {
            WayOfException wayOfException = await wayOfExceptionRepository.FindWayOfExceptionsByIDAsync(id);

            if (wayOfException == null)
            {
                return(HttpNotFound());
            }

            ViewBag.CustomerID         = new SelectList(customerRepository.FindCustomers(), "CustomerID", "Company", wayOfException.CustomerID);
            ViewBag.ProductID          = new SelectList(productRepository.Products(), "ProductID", "FullName", wayOfException.ProductID);
            ViewBag.SaleModalityID     = new SelectList(saleModalityRepository.SaleModalitys(), "SaleModalityID", "Description", wayOfException.SaleModalityID);
            ViewBag.GeographicAreaID   = new SelectList(geographicAreaRepository.GeographicAreas(), "GeographicAreaID", "Name", wayOfException.GeographicAreaID);
            ViewBag.PaymentDeadlineID  = new SelectList(paymentDeadlineRepository.PaymentDeadlines(), "PaymentDeadlineID", "Description", wayOfException.PaymentDeadlineID);
            ViewBag.ExchangeTypeID     = new SelectList(exchangeTypeRepository.ExchangeTypes(), "ExchangeTypeID", "Description", wayOfException.ExchangeTypeID);
            ViewBag.DeliveryAmount     = new SelectList(deliveryAmountRepository.DeliveryAmounts(), "DeliveryAmountID", "Description", wayOfException.DeliveryAmount);
            ViewBag.MaximumMonthsStock = new SelectList(stockTimeRepository.StockTimes(), "StockTimeID", "Description", wayOfException.MaximumMonthsStock);

            return(View(wayOfException));
        }
示例#4
0
        private string IsValidProductQuoteInput(WayOfException wayOfException)
        {
            ProductQuote productQuote = new ProductQuote
            {
                ProductID                 = wayOfException.ProductID,
                CustomerID                = wayOfException.CustomerID,
                SaleModalityID            = wayOfException.SaleModalityID,
                QuantityOpenPurchaseOrder = wayOfException.QuantityOpenPurchaseOrder,
                DeliveryAmount            = wayOfException.DeliveryAmount,
                MinimumQuantityDelivery   = wayOfException.QuantityOpenPurchaseOrder / wayOfException.DeliveryAmount,
                MaximumMonthsStock        = wayOfException.MaximumMonthsStock
            };

            GlobalVariable globalVariable = globalVariableRepository.FindGlobalVariables();

            productQuote.GVD_CostoAlmacenamientoMensual = globalVariable.CostoAlmacenamientoMensual;
            productQuote.GVD_CostoInOut                       = globalVariable.CostoInOut;
            productQuote.GVD_CostoFinancieroMensual           = globalVariable.CostoFinancieroMensual;
            productQuote.GVD_ImpuestoDebitoCredito            = globalVariable.ImpuestoDebitoCredito;
            productQuote.GVD_GastosFijos                      = globalVariable.GastosFijos;
            productQuote.GVD_IIBBAlicuota                     = globalVariable.IIBBAlicuota;
            productQuote.GVD_TipoCambio                       = globalVariable.TipoCambio;
            productQuote.GVD_FactorCostoAlmacenamientoMensual = globalVariable.FactorCostoAlmacenamientoMensual;
            productQuote.GVD_DiasStockPromedioDistLocal       = globalVariable.DiasStockPromedioDistLocal;


            productQuote.GV_CostoAlmacenamientoMensual       = productQuote.GVD_CostoAlmacenamientoMensual;
            productQuote.GV_CostoFinancieroMensual           = productQuote.GVD_CostoFinancieroMensual;
            productQuote.GV_FactorCostoAlmacenamientoMensual = productQuote.GVD_FactorCostoAlmacenamientoMensual;
            productQuote.GV_DiasStockPromedioDistLocal       = productQuote.GVD_DiasStockPromedioDistLocal;


            if (!productQuoteService.isValidProductQuoteInput(productQuote))
            {
                return(productQuote.Message);
            }
            return(string.Empty);
        }
示例#5
0
        public WayOfException HasWayOfExceptionProductQuote(ProductQuote productQuote)
        {
            WayOfException ret     = null;
            var            listWoE = wayOfExceptionRepository.FindWayOfExceptions();

            foreach (WayOfException woe in listWoE)
            {
                if ((woe.CustomerID == productQuote.CustomerID) && (woe.ProductID == productQuote.ProductID))
                {
                    productQuote.IsSaleModalityFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsSaleModalitySearchParam)
                    {
                        if (woe.SaleModalityID == productQuote.SaleModalityID)
                        {
                            productQuote.IsSaleModalityFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsSaleModalityFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    productQuote.IsGeographicAreaFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsGeographicAreaSearchParam)
                    {
                        if (woe.GeographicAreaID == productQuote.GeographicAreaID)
                        {
                            productQuote.IsGeographicAreaFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsGeographicAreaFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    productQuote.IsPaymentDeadlineFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsPaymentDeadlineSearchParam)
                    {
                        if (woe.PaymentDeadlineID == productQuote.PaymentDeadlineID)
                        {
                            productQuote.IsPaymentDeadlineFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsPaymentDeadlineFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    productQuote.IsQuantityOpenPurchaseOrderFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsQuantityOpenPurchaseOrderSearchParam)
                    {
                        if (woe.QuantityOpenPurchaseOrder == productQuote.QuantityOpenPurchaseOrder)
                        {
                            productQuote.IsQuantityOpenPurchaseOrderFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsQuantityOpenPurchaseOrderFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    productQuote.IsDeliveryAmountFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsDeliveryAmountSearchParam)
                    {
                        if (woe.DeliveryAmount == productQuote.DeliveryAmount)
                        {
                            productQuote.IsDeliveryAmountFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsDeliveryAmountFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    productQuote.IsMaximumMonthsStockFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsMaximumMonthsStockSearchParam)
                    {
                        if (woe.MaximumMonthsStock == productQuote.MaximumMonthsStock)
                        {
                            productQuote.IsMaximumMonthsStockFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsMaximumMonthsStockFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    productQuote.IsMinimumQuantityDeliveryFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsMinimumQuantityDeliverySearchParam)
                    {
                        if (woe.MinimumQuantityDelivery == productQuote.MinimumQuantityDelivery)
                        {
                            productQuote.IsMinimumQuantityDeliveryFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsMinimumQuantityDeliveryFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    productQuote.IsExchangeTypeFindParam = ExceptionParamType.ParametroVariable;
                    if (woe.IsExchangeTypeSearchParam)
                    {
                        if (woe.ExchangeTypeID == productQuote.ExchangeTypeID)
                        {
                            productQuote.IsExchangeTypeFindParam = ExceptionParamType.ParametroEncontrado;
                        }
                        else
                        {
                            productQuote.IsExchangeTypeFindParam = ExceptionParamType.ParametroNoEncontrado;
                            continue;
                        }
                    }

                    ret = woe;
                    break;
                }
            }

            if (ret == null)
            {
                productQuote.IsSaleModalityFindParam              = ExceptionParamType.Indefinido;
                productQuote.IsGeographicAreaFindParam            = ExceptionParamType.Indefinido;
                productQuote.IsPaymentDeadlineFindParam           = ExceptionParamType.Indefinido;
                productQuote.IsQuantityOpenPurchaseOrderFindParam = ExceptionParamType.Indefinido;
                productQuote.IsDeliveryAmountFindParam            = ExceptionParamType.Indefinido;
                productQuote.IsMaximumMonthsStockFindParam        = ExceptionParamType.Indefinido;
                productQuote.IsExchangeTypeFindParam              = ExceptionParamType.Indefinido;
                productQuote.IsMinimumQuantityDeliveryFindParam   = ExceptionParamType.Indefinido;
            }

            return(ret);
        }