public bool modificarDB(in_Ing_Egr_Inven_Info info) { try { int sec = 1; //Reversar_Aprobacion(info.IdEmpresa, info.IdSucursal, info.IdMovi_inven_tipo, info.IdNumMovi, ""); ReversarAprobacion(info.IdEmpresa, info.IdSucursal, info.IdMovi_inven_tipo, info.IdNumMovi); using (Entities_inventario Context = new Entities_inventario()) { in_Ing_Egr_Inven Entity = Context.in_Ing_Egr_Inven.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdMovi_inven_tipo == info.IdMovi_inven_tipo && q.IdNumMovi == info.IdNumMovi); if (Entity == null) { return(false); } Entity.cm_observacion = info.cm_observacion; Entity.CodMoviInven = info.CodMoviInven; Entity.cm_fecha = info.cm_fecha.Date; Entity.IdResponsable = info.IdResponsable; Entity.IdMotivo_Inv = info.IdMotivo_Inv; Entity.IdBodega = info.IdBodega; Entity.IdUsuarioUltModi = info.IdUsuarioUltModi; Entity.Fecha_UltMod = DateTime.Now; var lst = Context.in_Ing_Egr_Inven_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdMovi_inven_tipo == info.IdMovi_inven_tipo && q.IdNumMovi == info.IdNumMovi); Context.in_Ing_Egr_Inven_det.RemoveRange(lst); foreach (var item in info.lst_in_Ing_Egr_Inven_det) { if (info.signo == "-") { item.mv_costo_sinConversion = data_costo.get_ultimo_costo(info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info.IdBodega), item.IdProducto, info.cm_fecha); } Context.in_Ing_Egr_Inven_det.Add(new in_Ing_Egr_Inven_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdMovi_inven_tipo = info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi, Secuencia = sec, IdBodega = (int)info.IdBodega, IdProducto = item.IdProducto, IdCentroCosto = item.IdCentroCosto, IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo, dm_observacion = item.dm_observacion, IdMotivo_Inv = item.IdMotivo_Inv, IdEstadoAproba = item.IdEstadoAproba, Motivo_Aprobacion = item.Motivo_Aprobacion, IdEmpresa_oc = item.IdEmpresa_oc, IdSucursal_oc = item.IdSucursal_oc, IdOrdenCompra = item.IdOrdenCompra, Secuencia_oc = item.Secuencia_oc, //Deben ir null para que al aprobarse se liguen con el nuevo IdEmpresa_inv = null, IdSucursal_inv = null, IdBodega_inv = null, IdMovi_inven_tipo_inv = null, IdNumMovi_inv = null, secuencia_inv = null, dm_cantidad_sinConversion = Math.Abs(item.dm_cantidad_sinConversion) * (info.signo == "-" ? -1 : 1), dm_cantidad = Math.Abs(item.dm_cantidad_sinConversion) * (info.signo == "-" ? -1 : 1), IdUnidadMedida = (item.IdUnidadMedida) == null ? "UNID" : item.IdUnidadMedida, IdUnidadMedida_sinConversion = (item.IdUnidadMedida_sinConversion) == null ? "UNID" : item.IdUnidadMedida_sinConversion, mv_costo_sinConversion = (item.mv_costo_sinConversion) == null ? 0 : item.mv_costo_sinConversion, mv_costo = (item.mv_costo_sinConversion) == null ? 0 : Convert.ToDouble(item.mv_costo_sinConversion), }); sec++; } Context.SaveChanges(); Context.spINV_aprobacion_ing_egr(info.IdEmpresa, info.IdSucursal, info.IdBodega, info.IdMovi_inven_tipo, info.IdNumMovi); Contabilizar(info.IdEmpresa, info.IdSucursal, info.IdMovi_inven_tipo, info.IdNumMovi, info.cm_observacion, info.cm_fecha); return(true); } } catch (Exception) { throw; } }
public bool guardarDB(in_Ing_Egr_Inven_Info info, string signo) { try { int sec = 1; using (Entities_inventario Context = new Entities_inventario()) { in_Ing_Egr_Inven Entity = new in_Ing_Egr_Inven { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdMovi_inven_tipo = info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi = get_id(info.IdEmpresa, info.IdSucursal, info.IdMovi_inven_tipo), IdBodega = info.IdBodega, IdMotivo_Inv = info.IdMotivo_Inv, cm_fecha = info.cm_fecha.Date, cm_observacion = info.cm_observacion, CodMoviInven = info.CodMoviInven, Estado = info.Estado = "A", IdResponsable = info.IdResponsable, signo = info.signo, IdUsuario = info.IdUsuario, Fecha_Transac = DateTime.Now }; Context.in_Ing_Egr_Inven.Add(Entity); foreach (var item in info.lst_in_Ing_Egr_Inven_det) { if (signo == "-") { item.mv_costo_sinConversion = data_costo.get_ultimo_costo(info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info.IdBodega), item.IdProducto, info.cm_fecha); } in_Ing_Egr_Inven_det entity_det = new in_Ing_Egr_Inven_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdMovi_inven_tipo = info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi, Secuencia = item.Secuencia = sec, IdBodega = (int)info.IdBodega, IdProducto = item.IdProducto, IdCentroCosto = item.IdCentroCosto, IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo, IdPunto_cargo = item.IdPunto_cargo, IdPunto_cargo_grupo = item.IdPunto_cargo_grupo, dm_observacion = item.dm_observacion, IdMotivo_Inv = info.IdMotivo_Inv, IdEstadoAproba = "APRO", Motivo_Aprobacion = item.Motivo_Aprobacion, IdEmpresa_oc = item.IdEmpresa_oc, IdSucursal_oc = item.IdSucursal_oc, IdOrdenCompra = item.IdOrdenCompra, Secuencia_oc = item.Secuencia_oc, IdEmpresa_inv = item.IdEmpresa_inv, IdSucursal_inv = item.IdSucursal_inv, IdBodega_inv = item.IdBodega_inv, IdMovi_inven_tipo_inv = item.IdMovi_inven_tipo_inv, IdNumMovi_inv = item.IdNumMovi_inv, secuencia_inv = item.secuencia_inv, dm_cantidad_sinConversion = Math.Abs(item.dm_cantidad_sinConversion) * (info.signo == "-" ? -1 : 1), IdUnidadMedida_sinConversion = (item.IdUnidadMedida_sinConversion) == null ? "UNID" : item.IdUnidadMedida_sinConversion, mv_costo_sinConversion = item.mv_costo_sinConversion, IdUnidadMedida = (item.IdUnidadMedida) == null ? "UNID" : item.IdUnidadMedida, dm_cantidad = Math.Abs(item.dm_cantidad_sinConversion) * (info.signo == "-" ? -1 : 1), mv_costo = item.mv_costo_sinConversion, }; Context.in_Ing_Egr_Inven_det.Add(entity_det); sec++; } Context.SaveChanges(); // ejecutando el sp para in_movi_det Context.spINV_aprobacion_ing_egr(info.IdEmpresa, info.IdSucursal, info.IdBodega, info.IdMovi_inven_tipo, info.IdNumMovi); } Contabilizar(info.IdEmpresa, info.IdSucursal, info.IdMovi_inven_tipo, info.IdNumMovi, info.cm_observacion, info.cm_fecha); return(true); } catch (Exception) { throw; } }