bool AplicarLibras()
        {
            foreach (var dr in dg.Rows)
            {
                int     bltNumero = Convert.ToInt32(((System.Windows.Forms.DataGridViewRow)(dr)).Cells[0].Value);   //blt_numero
                decimal bltPeso   = Convert.ToDecimal(((System.Windows.Forms.DataGridViewRow)(dr)).Cells[3].Value); //blt_peso

                string bltCodigobarra = ((System.Windows.Forms.DataGridViewRow)(dr)).Cells[1].Value.ToString();     //codigo de barra

                int bltLibrasGratis = Convert.ToInt32(((System.Windows.Forms.DataGridViewRow)(dr)).Cells[5].Value); //Libras a aplicar

                if (bltPeso < 1)
                {
                    bltPeso = 1;
                }

                if (bltLibrasGratis > 0 && bltLibrasGratis <= bltPeso)
                {
                    string sMensaje            = "";
                    BO.BO.CalculoTafiras oFact = new BO.BO.CalculoTafiras();

                    if (oFact.AplicarLibrasGratis(bltNumero, bltLibrasGratis, liCteId, Parametros.Parametros.UsuarioId, ref sMensaje) == false)
                    {
                        MessageBox.Show("Error aplicando libras \n" + sMensaje, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    }
                    ;
                }
            }


            return(false);
        }
        void InsertaCargos(BO.Models.EquivalenciaBultos pEquivalencia)
        {
            ds.Tables["BULTOS_VALORES"].DefaultView.RowFilter = "BLT_NUMERO = " + pEquivalencia.BLT_NUMERO_SDQ.ToString();

            DataView dv = ds.Tables["BULTOS_VALORES"].DefaultView;

            var vQryBultos = unitOfWork.BultosRepository.GetByID(pEquivalencia.BLT_NUMERO_LOCAL);

            BO.BO.CalculoTafiras oTar = new BO.BO.CalculoTafiras();

            //RDE_REMITENTE
            //RDE_DESTINATARIO

            for (int i = 0; i < dv.Count; i++)
            {
                string  sCarCodigo    = dv[i]["CAR_CODIGO"].ToString().TrimEnd();
                decimal dMontoAplicar = Convert.ToDecimal(dv[i]["BVA_MONTO"]);
                //filter: s => s.PROD_ID == iProductoId && s.Cargos.CAR_BASE_ID == 29 && s.Cargos.CAR_ESTADO == true
                var sQueryCargos = unitOfWork.CargosProductoRepository.Get(filter: s => s.Cargos.CAR_CODIGO == sCarCodigo && s.Cargos.CAR_BASE_ID == 29 && s.PROD_ID == vQryBultos.PROD_ID && s.Cargos.CAR_ESTADO == true).FirstOrDefault();
                if (sQueryCargos != null)
                {
                    var vBultosValores = unitOfWork.BultosValoresRepository.Get(filter: s => s.BLT_NUMERO == pEquivalencia.BLT_NUMERO_LOCAL && s.CargosProducto.Cargos.CAR_CODIGO == sCarCodigo).FirstOrDefault();
                    if (vBultosValores != null)
                    {
                        unitOfWork.BultosValoresRepository.Delete(vBultosValores);
                    }
                    var cargosExits = unitOfWork.CargosProductoRepository.Get(filter: s => s.PROD_ID == vQryBultos.PROD_ID && s.Cargos.CAR_BASE_ID == 29 && s.Cargos.CAR_ESTADO == true &&
                                                                              s.Cargos.CAR_CODIGO == sCarCodigo).FirstOrDefault(); /*tipo cargos*/
                    BO.Models.BultosValores oBultosVal = new BO.Models.BultosValores();
                    oBultosVal.BLT_NUMERO    = vQryBultos.BLT_NUMERO;
                    oBultosVal.CARGO_PROD_ID = cargosExits.CARGO_PROD_ID;
                    oBultosVal.BVA_TASA      = cargosExits.TasaCambio.FACTOR_CONV;
                    oBultosVal.BVA_MONTO     = dMontoAplicar;
                    if (cargosExits.Cargos.CAR_DIRECTO_TABLA == "D")
                    {
                        oBultosVal.BVA_MONTO_APLICAR = dMontoAplicar;
                    }
                    else
                    {
                        oBultosVal.BVA_MONTO_APLICAR = oTar.BuscarMontoAplicar(cargosExits.CARGO_PROD_ID, dMontoAplicar, vQryBultos.CTE_ID);
                    }
                    if (oBultosVal.BVA_MONTO_APLICAR < cargosExits.Cargos.CAR_MINIMO_FACTURAR)
                    {
                        oBultosVal.BVA_MONTO_APLICAR = cargosExits.Cargos.CAR_MINIMO_FACTURAR;
                    }
                    if (cargosExits.Cargos.CAR_FIJO_MULTIPLICAR == "F")
                    {
                        oBultosVal.BVA_MONTO_LOCAL = oBultosVal.BVA_MONTO_APLICAR * cargosExits.TasaCambio.FACTOR_CONV;
                    }
                    else
                    {
                        oBultosVal.BVA_MONTO_LOCAL = dMontoAplicar * oBultosVal.BVA_MONTO_APLICAR * cargosExits.TasaCambio.FACTOR_CONV;
                    }
                    unitOfWork.BultosValoresRepository.Insert(oBultosVal);
                }
                unitOfWork.Save();
            }
        }
Beispiel #3
0
        void RegistraCorrespondencia(decimal pdPeso, int piPiezas)
        {
            List <BO.Models.BultosValores> oBultosValores = new List <BO.Models.BultosValores>();
            DataRow dr = oTableCorr.NewRow();

            dr["Producto"] = Parametros.Parametros.NomProdCorrespondencia;
            dr["ProdId"]   = Parametros.Parametros.ProdCorrespondencia;
            dr["Piezas"]   = piPiezas;
            dr["Peso"]     = pdPeso;
            dr["Monto"]    = 0;
            BO.BO.CalculoTafiras oTar = new BO.BO.CalculoTafiras();
            oBultosValores = oTar.CalcularCorrespondencia(Parametros.Parametros.ProdCorrespondencia, pdPeso, piPiezas, oCliente.CTE_ID);
            foreach (BO.Models.BultosValores oVal in oBultosValores)
            {
                dr["Monto"] = Math.Round((decimal)dr["Monto"] + oVal.BVA_MONTO_LOCAL, 2);
            }
            oTableCorr.Rows.Add(dr);
        }