public bool guardarDB(in_Ing_Egr_Inven_det_Info info) { try { using (Entities_inventario Context = new Entities_inventario()) { in_Ing_Egr_Inven_det Entity = new in_Ing_Egr_Inven_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdMovi_inven_tipo = info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi, Secuencia = info.Secuencia, IdBodega = info.IdBodega, IdProducto = info.IdProducto, IdCentroCosto = info.IdCentroCosto, IdCentroCosto_sub_centro_costo = info.IdCentroCosto_sub_centro_costo, IdPunto_cargo = info.IdPunto_cargo, IdPunto_cargo_grupo = info.IdPunto_cargo_grupo, dm_observacion = info.dm_observacion, IdMotivo_Inv = info.IdMotivo_Inv, IdEstadoAproba = info.IdEstadoAproba, Motivo_Aprobacion = info.Motivo_Aprobacion, IdEmpresa_oc = info.IdEmpresa_oc, IdSucursal_oc = info.IdSucursal_oc, IdOrdenCompra = info.IdOrdenCompra, Secuencia_oc = info.Secuencia_oc, IdEmpresa_inv = info.IdEmpresa_inv, IdSucursal_inv = info.IdSucursal_inv, IdBodega_inv = info.IdBodega_inv, IdMovi_inven_tipo_inv = info.IdMovi_inven_tipo_inv, IdNumMovi_inv = info.IdNumMovi_inv, secuencia_inv = info.secuencia_inv, dm_cantidad_sinConversion = info.dm_cantidad_sinConversion, dm_cantidad = info.dm_cantidad = info.dm_cantidad_sinConversion, // IdUnidadMedida_sinConversion = info.IdUnidadMedida_sinConversion, IdUnidadMedida = info.IdUnidadMedida = info.IdUnidadMedida_sinConversion, // mv_costo_sinConversion = info.mv_costo_sinConversion, mv_costo = info.mv_costo = (double)info.mv_costo_sinConversion //, }; Context.in_Ing_Egr_Inven_det.Add(Entity); Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public in_Ing_Egr_Inven_det_Info get_info(int IdEmpresa, int IdSucursal, int IdMovi_inven_tipo, decimal IdNumMovi) { try { in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info(); using (Entities_inventario Context = new Entities_inventario()) { in_Ing_Egr_Inven_det Entity = Context.in_Ing_Egr_Inven_det.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdMovi_inven_tipo == IdMovi_inven_tipo && q.IdNumMovi == IdNumMovi); if (Entity == null) { return(null); } info = new in_Ing_Egr_Inven_det_Info { IdEmpresa = Entity.IdEmpresa, IdSucursal = Entity.IdSucursal, IdMovi_inven_tipo = Entity.IdMovi_inven_tipo, IdNumMovi = Entity.IdNumMovi, IdBodega = Entity.IdBodega, dm_cantidad = Entity.dm_cantidad, dm_observacion = Entity.dm_observacion, IdMotivo_Inv = Entity.IdMotivo_Inv, IdEstadoAproba = Entity.IdEstadoAproba, IdOrdenCompra = Entity.IdOrdenCompra, IdProducto = Entity.IdProducto, IdUnidadMedida = Entity.IdUnidadMedida, IdPunto_cargo = Entity.IdPunto_cargo, IdPunto_cargo_grupo = Entity.IdPunto_cargo_grupo, mv_costo = Entity.mv_costo, Secuencia = Entity.Secuencia, IdSucursal_inv = Entity.IdSucursal_inv, IdSucursal_oc = Entity.IdSucursal_oc, IdEmpresa_inv = Entity.IdEmpresa_inv, IdEmpresa_oc = Entity.IdEmpresa_oc, IdBodega_inv = Entity.IdBodega_inv, IdMovi_inven_tipo_inv = Entity.IdMovi_inven_tipo_inv, IdNumMovi_inv = Entity.IdNumMovi_inv, dm_cantidad_sinConversion = Entity.dm_cantidad_sinConversion, IdUnidadMedida_sinConversion = Entity.IdUnidadMedida_sinConversion, mv_costo_sinConversion = Entity.mv_costo_sinConversion, secuencia_inv = Entity.secuencia_inv, Secuencia_oc = Entity.Secuencia_oc }; } return(info); } 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; } }
public bool Aprobar(int IdEmpresa, List <tbl_movimientos_det_Info> Lista, string IdUsuario) { Entities_mobileSCI db_mobile = new Entities_mobileSCI(); EntitiesInventario db_inv = new EntitiesInventario(); try { var Entity_p = db_inv.in_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault(); if (Entity_p == null || Entity_p.IdMovi_inven_tipo_mobile_ing == null || Entity_p.IdMovi_inven_tipo_mobile_egr == null) { return(false); } var Entity_motivo_ing = db_inv.in_Motivo_Inven.Where(q => q.IdEmpresa == IdEmpresa && q.Tipo_Ing_Egr == "ING" && q.Genera_Movi_Inven == "S").FirstOrDefault(); if (Entity_motivo_ing == null) { return(false); } var Entity_motivo_egr = db_inv.in_Motivo_Inven.Where(q => q.IdEmpresa == IdEmpresa && q.Tipo_Ing_Egr == "EGR" && q.Genera_Movi_Inven == "S" && q.es_Inven_o_Consumo == "TIC_CONSU").FirstOrDefault(); if (Entity_motivo_egr == null) { return(false); } #region Ingresos var lst_mov_agrupada = (from q in Lista where q.cantidad > 0 group new { q.IdEmpresa, q.IdSucursal, q.IdBodega, q.Fecha, q.IdSucursal_oc, q.IdOrdenCompra } by new { q.IdEmpresa, q.IdSucursal, q.IdBodega, q.Fecha, q.IdSucursal_oc, q.IdOrdenCompra } into g select new tbl_movimientos_det_Info { IdEmpresa = g.Key.IdEmpresa, IdSucursal = g.Key.IdSucursal, IdBodega = g.Key.IdBodega, Fecha = g.Key.Fecha, IdSucursal_oc = g.Key.IdSucursal_oc, IdOrdenCompra = g.Key.IdOrdenCompra, }).ToList(); foreach (var item in lst_mov_agrupada) { #region Cabecera in_Ing_Egr_Inven Entity_cab = new in_Ing_Egr_Inven { IdEmpresa = item.IdEmpresa, IdSucursal = item.IdSucursal, IdMovi_inven_tipo = Convert.ToInt32(Entity_p.IdMovi_inven_tipo_mobile_ing), IdNumMovi = get_id(item.IdEmpresa, item.IdSucursal, Convert.ToInt32(Entity_p.IdMovi_inven_tipo_mobile_ing)), IdBodega = item.IdBodega, signo = "+", CodMoviInven = "MOBILE", cm_observacion = "Aprobación móvil " + DateTime.Now.ToString("dd/MM/yyyy"), cm_fecha = item.Fecha, Estado = "A", IdMotivo_Inv = Entity_motivo_ing.IdMotivo_Inv, IdUsuario = IdUsuario, Fecha_Transac = DateTime.Now }; db_inv.in_Ing_Egr_Inven.Add(Entity_cab); #endregion #region Detalle int sec = 1; foreach (var mov in Lista.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdBodega == item.IdBodega && q.Fecha == item.Fecha && q.IdSucursal_oc == item.IdSucursal_oc && q.IdOrdenCompra == item.IdOrdenCompra && q.cantidad > 0).ToList()) { in_Ing_Egr_Inven_det Entity_det = new in_Ing_Egr_Inven_det { IdEmpresa = Entity_cab.IdEmpresa, IdSucursal = Entity_cab.IdSucursal, IdMovi_inven_tipo = Entity_cab.IdMovi_inven_tipo, IdNumMovi = Entity_cab.IdNumMovi, Secuencia = sec++, IdBodega = mov.IdBodega, IdProducto = mov.IdProducto, dm_cantidad = mov.cantidad, dm_stock_actu = 0, dm_stock_ante = 0, dm_observacion = "", dm_precio = 0, mv_costo = mov.do_precioFinal, dm_peso = 0, IdCentroCosto = null, IdCentroCosto_sub_centro_costo = null, IdEstadoAproba = "PEND", IdUnidadMedida = mov.IdUnidadMedida, IdEmpresa_oc = mov.IdEmpresa_oc, IdSucursal_oc = mov.IdSucursal_oc, IdOrdenCompra = mov.IdOrdenCompra, Secuencia_oc = mov.secuencia_oc, Motivo_Aprobacion = "Aprobación movil", dm_cantidad_sinConversion = mov.cantidad, IdUnidadMedida_sinConversion = mov.IdUnidadMedida, mv_costo_sinConversion = mov.do_precioFinal, IdMotivo_Inv = null }; db_inv.in_Ing_Egr_Inven_det.Add(Entity_det); tbl_movimientos_det_apro Entity_apro = new tbl_movimientos_det_apro { IdSincronizacion = mov.IdSincronizacion, IdSecuencia = mov.IdSecuencia, IdEmpresa = mov.IdEmpresa, IdSucursal = mov.IdSucursal, IdMovi_inven_tipo = Entity_cab.IdMovi_inven_tipo, IdNumMovi = Entity_cab.IdNumMovi, Secuencia = Entity_det.Secuencia }; db_mobile.tbl_movimientos_det_apro.Add(Entity_apro); var Entity_sinc = db_mobile.tbl_movimientos_det.Where(q => q.IdSincronizacion == mov.IdSincronizacion && q.IdSecuencia == mov.IdSecuencia).FirstOrDefault().Aprobado = true; } #endregion db_inv.SaveChanges(); db_mobile.SaveChanges(); db_inv.spINV_aprobacion_movimiento(Entity_cab.IdEmpresa, Entity_cab.IdSucursal, Entity_cab.IdMovi_inven_tipo, Entity_cab.IdBodega, Entity_cab.IdNumMovi); } #endregion #region Egresos lst_mov_agrupada = (from q in Lista where q.cantidad < 0 group new { q.IdEmpresa, q.IdSucursal, q.IdBodega, q.Fecha } by new { q.IdEmpresa, q.IdSucursal, q.IdBodega, q.Fecha } into g select new tbl_movimientos_det_Info { IdEmpresa = g.Key.IdEmpresa, IdSucursal = g.Key.IdSucursal, IdBodega = g.Key.IdBodega, Fecha = g.Key.Fecha }).ToList(); foreach (var item in lst_mov_agrupada) { #region Cabecera in_Ing_Egr_Inven Entity_cab = new in_Ing_Egr_Inven { IdEmpresa = item.IdEmpresa, IdSucursal = item.IdSucursal, IdMovi_inven_tipo = Convert.ToInt32(Entity_p.IdMovi_inven_tipo_mobile_egr), IdNumMovi = get_id(item.IdEmpresa, item.IdSucursal, Convert.ToInt32(Entity_p.IdMovi_inven_tipo_mobile_egr)), IdBodega = item.IdBodega, signo = "-", CodMoviInven = "MOBILE", cm_observacion = "Aprobación móvil " + DateTime.Now.ToString("dd/MM/yyyy"), cm_fecha = item.Fecha, Estado = "A", IdMotivo_Inv = Entity_motivo_egr.IdMotivo_Inv }; db_inv.in_Ing_Egr_Inven.Add(Entity_cab); #endregion #region Detalle int sec = 1; foreach (var mov in Lista.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdBodega == item.IdBodega && q.Fecha == item.Fecha && q.cantidad < 0).ToList()) { in_Ing_Egr_Inven_det Entity_det = new in_Ing_Egr_Inven_det { IdEmpresa = Entity_cab.IdEmpresa, IdSucursal = Entity_cab.IdSucursal, IdMovi_inven_tipo = Entity_cab.IdMovi_inven_tipo, IdNumMovi = Entity_cab.IdNumMovi, Secuencia = sec++, IdBodega = mov.IdBodega, IdProducto = mov.IdProducto, dm_cantidad = mov.cantidad, dm_stock_actu = 0, dm_stock_ante = 0, dm_observacion = "", dm_precio = 0, mv_costo = mov.do_precioFinal, dm_peso = 0, IdCentroCosto = mov.IdCentroCosto, IdCentroCosto_sub_centro_costo = mov.IdCentroCosto_sub_centro_costo, IdEstadoAproba = "PEND", IdUnidadMedida = mov.IdUnidadMedida, IdEmpresa_oc = mov.IdEmpresa_oc, IdSucursal_inv = mov.IdSucursal_oc, IdOrdenCompra = mov.IdOrdenCompra, Secuencia_oc = mov.secuencia_oc, Motivo_Aprobacion = "Aprobación movil", dm_cantidad_sinConversion = mov.cantidad, IdUnidadMedida_sinConversion = mov.IdUnidadMedida, mv_costo_sinConversion = mov.do_precioFinal, IdMotivo_Inv = null }; db_inv.in_Ing_Egr_Inven_det.Add(Entity_det); tbl_movimientos_det_apro Entity_apro = new tbl_movimientos_det_apro { IdSincronizacion = mov.IdSincronizacion, IdSecuencia = mov.IdSecuencia, IdEmpresa = mov.IdEmpresa, IdSucursal = mov.IdSucursal, IdMovi_inven_tipo = Entity_cab.IdMovi_inven_tipo, IdNumMovi = Entity_cab.IdNumMovi, Secuencia = Entity_det.Secuencia }; db_mobile.tbl_movimientos_det_apro.Add(Entity_apro); var Entity_sinc = db_mobile.tbl_movimientos_det.Where(q => q.IdSincronizacion == mov.IdSincronizacion && q.IdSecuencia == mov.IdSecuencia).FirstOrDefault().Aprobado = true; } #endregion db_inv.SaveChanges(); db_mobile.SaveChanges(); db_inv.spINV_aprobacion_movimiento(Entity_cab.IdEmpresa, Entity_cab.IdSucursal, Entity_cab.IdMovi_inven_tipo, Entity_cab.IdBodega, Entity_cab.IdNumMovi); } #endregion return(true); } catch (Exception) { db_inv.Dispose(); db_mobile.Dispose(); throw; } }