public Boolean ModificarDB(in_Ing_Egr_Inven_Info info, ref string msgs) { try { in_Ing_Egr_Inven_det_Data dataDet = new in_Ing_Egr_Inven_det_Data(); in_Parametro_Bus busParam = new in_Parametro_Bus(); in_Parametro_Info infoParam = new in_Parametro_Info(); string IdEstadoAproba_Param = ""; infoParam = busParam.Get_Info_Parametro(info.IdEmpresa); if (InfoParam.IdEmpresa == 0) { return(false); } if (info.signo == "+") { IdEstadoAproba_Param = infoParam.IdEstadoAproba_x_Ing; } else { IdEstadoAproba_Param = infoParam.IdEstadoAproba_x_Egr; } Boolean res = false; if (Validar_objeto_IngEgr(info, ref mensaje)) { //arreglando los id del detalle en caso q no venga sin id foreach (var item in info.listIng_Egr) { item.IdEmpresa = info.IdEmpresa; item.IdSucursal = info.IdSucursal; item.IdNumMovi = info.IdNumMovi; item.IdMovi_inven_tipo = info.IdMovi_inven_tipo; item.signo = info.signo; in_producto_Bus BusProducto = new in_producto_Bus(); in_Producto_Info InfoProdu = BusProducto.Get_info_Product(info.IdEmpresa, item.IdProducto); if (item.IdEstadoAproba == null || item.IdEstadoAproba == "") { if (info.signo == "+") { IdEstadoAproba_Param = infoParam.IdEstadoAproba_x_Ing; } else { IdEstadoAproba_Param = infoParam.IdEstadoAproba_x_Egr; } item.IdEstadoAproba = Get_EstadoApro(Convert.ToInt32(info.IdEmpresa), Convert.ToInt32(info.IdSucursal), Convert.ToInt32(info.IdBodega), IdEstadoAproba_Param); } if (item.IdUnidadMedida_sinConversion == null || item.IdUnidadMedida_sinConversion == "" || item.IdUnidadMedida == null || item.IdUnidadMedida == "") { item.IdUnidadMedida = InfoProdu.IdUnidadMedida; item.IdUnidadMedida_Consumo = InfoProdu.IdUnidadMedida_Consumo; item.IdUnidadMedida_sinConversion = InfoProdu.IdUnidadMedida; } if (item.mv_costo_sinConversion == 0 || item.signo == "-") { in_producto_x_tb_bodega_Costo_Historico_Bus BusProd_x_Costo = new in_producto_x_tb_bodega_Costo_Historico_Bus(); in_producto_x_tb_bodega_Costo_Historico_Info Info_Produc_x_Costo = new in_producto_x_tb_bodega_Costo_Historico_Info(); Info_Produc_x_Costo = BusProd_x_Costo.get_UltimoCosto_x_Producto_Bodega(item.IdEmpresa, item.IdSucursal, Convert.ToInt32(item.IdBodega), item.IdProducto, info.cm_fecha); item.mv_costo = Info_Produc_x_Costo.costo; item.mv_costo_sinConversion = Info_Produc_x_Costo.costo; } #region Convierte costo y cantidad en la unidad de consumo ValorEquiv = 0; InfoUni_Equiv = busUni_Equiv.Get_Info_in_UnidadMedida_Equiv_conversion(item.IdUnidadMedida_sinConversion, InfoProdu.IdUnidadMedida_Consumo); ValorEquiv = InfoUni_Equiv.valor_equiv == 0 ? 1 : InfoUni_Equiv.valor_equiv; item.dm_cantidad = item.dm_cantidad_sinConversion * ValorEquiv; item.mv_costo = item.mv_costo_sinConversion / ValorEquiv; item.IdUnidadMedida = InfoProdu.IdUnidadMedida_Consumo; #endregion } if (dataDet.EliminarDB(info.IdEmpresa, info.IdSucursal, info.IdMovi_inven_tipo, info.IdNumMovi, ref msgs)) { info.IdUsuarioUltModi = param.IdUsuario; if (odata.ModificarDB(info, ref msgs)) { foreach (var item in info.listIng_Egr) { item.Secuencia = 0; item.IdEstadoAproba = Get_EstadoApro(Convert.ToInt32(info.IdEmpresa), Convert.ToInt32(info.IdSucursal), Convert.ToInt32(info.IdBodega), IdEstadoAproba_Param); if (item.IdEmpresa == null || item.IdEmpresa == 0) { item.IdEmpresa = Convert.ToInt32(info.IdEmpresa); } if (item.IdSucursal == null || item.IdSucursal == 0) { item.IdSucursal = Convert.ToInt32(info.IdSucursal); } if (item.IdBodega == null || item.IdBodega == 0) { item.IdBodega = Convert.ToInt32(info.IdBodega); } if (item.IdMovi_inven_tipo == null || item.IdMovi_inven_tipo == 0) { item.IdMovi_inven_tipo = Convert.ToInt32(info.IdMovi_inven_tipo); } if (item.IdNumMovi == null || item.IdNumMovi == 0) { item.IdNumMovi = Convert.ToInt32(info.IdNumMovi); } } if (dataDet.GuardarDB(info.listIng_Egr)) { res = true; res = procesoGenerarMoviInve(info, info.IdNumMovi, ref mensaje); } } } } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ModificarDB", ex.Message), ex) { EntityType = typeof(in_Ing_Egr_Inven_Bus) }; } }