private void SalvarDetalle(int bltNumero) { var oBultosValores = unitOfWork.BultosValoresRepository.Get(filter: s => s.BLT_NUMERO == bltNumero); foreach (var oReg in oBultosValores) { unitOfWork.BultosValoresRepository.Delete(oReg.BVA_ID); } foreach (DataRow dr in oUnidades) { BO.Models.BultosValores oNewValores = new BO.Models.BultosValores(); oNewValores.BLT_NUMERO = bltNumero; oNewValores.BVA_MONTO = Convert.ToDecimal(dr["Monto"]); oNewValores.BVA_MONTO_APLICAR = Convert.ToDecimal(dr["MontoAplicar"]); oNewValores.BVA_MONTO_LOCAL = Convert.ToDecimal(dr["MontoLocal"]); oNewValores.BVA_TASA = Convert.ToDecimal(dr["Tasa"]); oNewValores.CARGO_PROD_ID = Convert.ToInt32(dr["CARGO_PROD_ID"]); unitOfWork.BultosValoresRepository.Insert(oNewValores); } foreach (DataRow dr in oCargos) { BO.Models.BultosValores oNewValores = new BO.Models.BultosValores(); oNewValores.BLT_NUMERO = bltNumero; oNewValores.BVA_MONTO = Convert.ToDecimal(dr["Monto"]); oNewValores.BVA_MONTO_APLICAR = Convert.ToDecimal(dr["MontoAplicar"]); oNewValores.BVA_MONTO_LOCAL = Convert.ToDecimal(dr["MontoLocal"]); oNewValores.BVA_TASA = Convert.ToDecimal(dr["Tasa"]); oNewValores.CARGO_PROD_ID = Convert.ToInt32(dr["CARGO_PROD_ID"]); unitOfWork.BultosValoresRepository.Insert(oNewValores); } }
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(); } }