Пример #1
0
        public bool modificarDB(in_producto_x_tb_bodega_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_producto_x_tb_bodega Entity = Context.in_producto_x_tb_bodega.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdProducto == info.IdProducto).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdCtaCble_Costo = info.IdCtaCble_Costo;
                    Entity.IdCtaCble_Inven = info.IdCtaCble_Inven;

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
        public bool guardarDB(in_UnidadMedida_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_UnidadMedida Entity = new in_UnidadMedida
                    {
                        IdUnidadMedida = info.IdUnidadMedida,
                        cod_alterno    = info.cod_alterno,
                        Descripcion    = info.Descripcion,
                        Estado         = info.Estado = "A"
                    };
                    Context.in_UnidadMedida.Add(Entity);
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #3
0
        public bool anularDB(in_UnidadMedida_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_UnidadMedida Entity = Context.in_UnidadMedida.FirstOrDefault(q => q.IdUnidadMedida == info.IdUnidadMedida);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.Estado = "I";

                    Entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                    Entity.Fecha_UltAnu    = DateTime.Now;
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #4
0
        public bool anularDB(in_grupo_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_grupo Entity = Context.in_grupo.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdCategoria == info.IdCategoria && q.IdLinea == info.IdLinea && q.IdGrupo == info.IdGrupo);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.Estado = info.Estado = "I";

                    Entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                    Entity.Fecha_UltAnu    = DateTime.Now;
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #5
0
        public bool modificarDB(in_Marca_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_Marca Entity = Context.in_Marca.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdMarca == info.IdMarca);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.Descripcion = info.Descripcion;

                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #6
0
 public bool guardarDB(in_Catalogo_Info info)
 {
     try
     {
         using (Entities_inventario Context = new Entities_inventario())
         {
             in_Catalogo Entity = new in_Catalogo
             {
                 IdCatalogo_tipo = info.IdCatalogo_tipo,
                 IdCatalogo      = info.IdCatalogo,
                 Nombre          = info.Nombre,
                 Estado          = info.Estado = "A",
                 Orden           = info.Orden
             };
             Context.in_Catalogo.Add(Entity);
             Context.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #7
0
        public bool Contabilizar(int IdEmpresa, int IdSucursal, int IdMovi_inven_tipo, decimal IdNumMovi, string Observacion, DateTime Fecha)
        {
            Entities_inventario   db_i = new Entities_inventario();
            Entities_contabilidad db_c = new Entities_contabilidad();

            try
            {
                var tipo_movi = db_i.in_movi_inven_tipo.Where(q => q.IdEmpresa == IdEmpresa && q.IdMovi_inven_tipo == IdMovi_inven_tipo).FirstOrDefault();
                if (tipo_movi == null)
                {
                    return(false);
                }

                if (!(tipo_movi.Genera_Diario_Contable ?? false))
                {
                    return(false);
                }

                if (tipo_movi.IdTipoCbte == null)
                {
                    return(false);
                }

                var lst = db_i.vwin_Ing_Egr_Inven_PorContabilizar.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdMovi_inven_tipo == IdMovi_inven_tipo && q.IdNumMovi == IdNumMovi).ToList();
                if (lst.Count == 0)
                {
                    return(false);
                }

                var lst_g = (from q in lst
                             group q by new
                {
                    q.IdCtaCble_Motivo,
                    q.IdCtaCtble_Costo,
                    q.IdCtaCtble_Inve,
                    q.P_IdCtaCble_transitoria_transf_inven,
                    q.EsTransferencia,

                    q.IdEmpresa_inv,
                    q.IdSucursal_inv,
                    q.IdMovi_inven_tipo_inv,
                    q.IdBodega_inv,
                    q.IdNumMovi_inv
                }
                             into g
                             select new
                {
                    g.Key.IdCtaCble_Motivo,
                    g.Key.IdCtaCtble_Costo,
                    g.Key.IdCtaCtble_Inve,
                    g.Key.P_IdCtaCble_transitoria_transf_inven,
                    g.Key.EsTransferencia,

                    g.Key.IdEmpresa_inv,
                    g.Key.IdSucursal_inv,
                    g.Key.IdMovi_inven_tipo_inv,
                    g.Key.IdBodega_inv,
                    g.Key.IdNumMovi_inv,

                    Valor = g.Sum(q => q.Valor)
                }).ToList();

                List <in_movi_inve_detalle_x_ct_cbtecble_det> lst_rel = new List <in_movi_inve_detalle_x_ct_cbtecble_det>();
                List <ct_cbtecble_det_Info> lst_ct = new List <ct_cbtecble_det_Info>();
                int Secuencia = 1;
                foreach (var item in lst_g)
                {
                    /*
                     * lst_rel.Add(new in_movi_inve_detalle_x_ct_cbtecble_det
                     * {
                     *  IdEmpresa_inv = (int)item.IdEmpresa_inv,
                     *  IdSucursal_inv = (int)item.IdSucursal_inv,
                     *  IdBodega_inv = (int)item.IdBodega_inv,
                     *  IdMovi_inven_tipo_inv = (int)item.IdMovi_inven_tipo_inv,
                     *  IdNumMovi_inv = (decimal)item.IdNumMovi_inv,
                     *  Secuencia_inv = (int)item.secuencia_inv,
                     *
                     *  secuencia_ct = Secuencia,
                     *  Secuencial_reg = Secuencia,
                     *  observacion = ""
                     * });*/
                    //Debe
                    lst_ct.Add(new ct_cbtecble_det_Info
                    {
                        secuencia = Secuencia++,
                        IdCtaCble = tipo_movi.cm_tipo_movi == "+" ? item.IdCtaCtble_Inve : ((bool)item.EsTransferencia ? item.P_IdCtaCble_transitoria_transf_inven : (string.IsNullOrEmpty(item.IdCtaCble_Motivo) ? item.IdCtaCtble_Costo : item.IdCtaCble_Motivo)),
                        dc_Valor  = Math.Abs(Math.Round(item.Valor, 2, MidpointRounding.AwayFromZero))
                    });

                    /*
                     * lst_rel.Add(new in_movi_inve_detalle_x_ct_cbtecble_det
                     * {
                     *  IdEmpresa_inv = (int)item.IdEmpresa_inv,
                     *  IdSucursal_inv = (int)item.IdSucursal_inv,
                     *  IdBodega_inv = (int)item.IdBodega_inv,
                     *  IdMovi_inven_tipo_inv = (int)item.IdMovi_inven_tipo_inv,
                     *  IdNumMovi_inv = (decimal)item.IdNumMovi_inv,
                     *  Secuencia_inv = (int)item.secuencia_inv,
                     *
                     *  secuencia_ct = Secuencia,
                     *  Secuencial_reg = Secuencia,
                     *  observacion = ""
                     * });*/
                    //Haber
                    lst_ct.Add(new ct_cbtecble_det_Info
                    {
                        secuencia = Secuencia++,
                        IdCtaCble = tipo_movi.cm_tipo_movi == "-" ? item.IdCtaCtble_Inve : ((bool)item.EsTransferencia ? item.P_IdCtaCble_transitoria_transf_inven : (string.IsNullOrEmpty(item.IdCtaCble_Motivo) ? item.IdCtaCtble_Costo : item.IdCtaCble_Motivo)),
                        dc_Valor  = Math.Abs(Math.Round(item.Valor, 2, MidpointRounding.AwayFromZero)) * -1
                    });
                }

                var diario = odata_ct.armar_info(lst_ct, IdEmpresa, IdSucursal, (int)tipo_movi.IdTipoCbte, 0, tipo_movi.tm_descripcion + " #" + IdNumMovi + " " + Observacion, Fecha);

                diario.lst_ct_cbtecble_det.RemoveAll(q => q.dc_Valor == 0);

                if (diario.lst_ct_cbtecble_det.Count == 0)
                {
                    return(false);
                }

                if (diario.lst_ct_cbtecble_det.Where(q => q.dc_Valor == 0).Count() > 0)
                {
                    return(false);
                }

                double descuadre = Math.Round(diario.lst_ct_cbtecble_det.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero);
                if (descuadre < -0.01 || 0.01 <= descuadre)
                {
                    return(false);
                }

                if (descuadre <= 0.01 || -0.01 <= descuadre && descuadre != 0)
                {
                    if (descuadre > 0)
                    {
                        diario.lst_ct_cbtecble_det.Where(q => q.dc_Valor < 0).FirstOrDefault().dc_Valor -= descuadre;
                    }
                    else
                    {
                        diario.lst_ct_cbtecble_det.Where(q => q.dc_Valor > 0).FirstOrDefault().dc_Valor += (descuadre * -1);
                    }
                }

                descuadre = Math.Round(diario.lst_ct_cbtecble_det.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero);
                if (descuadre != 0)
                {
                    return(false);
                }

                if (odata_ct.guardarDB(diario))
                {
                    /*
                     * lst_rel.ForEach(q =>
                     * {
                     *  q.IdEmpresa_ct = diario.IdEmpresa;
                     *  q.IdTipoCbte_ct = diario.IdTipoCbte;
                     *  q.IdCbteCble_ct = diario.IdCbteCble;
                     * });
                     */
                    var First = lst_g.First();
                    db_i.in_movi_inve_x_ct_cbteCble.Add(new in_movi_inve_x_ct_cbteCble
                    {
                        IdEmpresa         = (int)First.IdEmpresa_inv,
                        IdSucursal        = (int)First.IdSucursal_inv,
                        IdBodega          = (int)First.IdBodega_inv,
                        IdMovi_inven_tipo = (int)First.IdMovi_inven_tipo_inv,
                        IdNumMovi         = (decimal)First.IdNumMovi_inv,

                        IdEmpresa_ct = diario.IdEmpresa,
                        IdTipoCbte   = diario.IdTipoCbte,
                        IdCbteCble   = diario.IdCbteCble,

                        Observacion = ""
                    });
                    //db_i.in_movi_inve_detalle_x_ct_cbtecble_det.AddRange(lst_rel);
                    db_i.SaveChanges();
                }

                db_c.Dispose();
                db_i.Dispose();
                return(true);
            }
            catch (Exception)
            {
                db_c.Dispose();
                db_i.Dispose();
                throw;
            }
        }
Пример #8
0
        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;
            }
        }
Пример #9
0
        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;
            }
        }
Пример #10
0
        public bool guardarDB(in_parametro_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_parametro Entity = Context.in_parametro.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (Entity == null)
                    {
                        Entity = new in_parametro
                        {
                            IdEmpresa = info.IdEmpresa,
                            IdMovi_inven_tipo_egresoBodegaOrigen              = info.IdMovi_inven_tipo_egresoBodegaOrigen,
                            IdMovi_inven_tipo_ingresoBodegaDestino            = info.IdMovi_inven_tipo_ingresoBodegaDestino,
                            IdMovi_Inven_tipo_x_Dev_Inv_x_Ing                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing,
                            IdMovi_Inven_tipo_x_Dev_Inv_x_Erg                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg,
                            P_IdCtaCble_transitoria_transf_inven              = info.P_IdCtaCble_transitoria_transf_inven,
                            P_IdMovi_inven_tipo_default_ing                   = info.P_IdMovi_inven_tipo_default_ing,
                            P_IdMovi_inven_tipo_default_egr                   = info.P_IdMovi_inven_tipo_default_egr,
                            P_IdMovi_inven_tipo_ingreso_x_compra              = info.P_IdMovi_inven_tipo_ingreso_x_compra,
                            P_Dias_menores_alerta_desde_fecha_actual_rojo     = info.P_Dias_menores_alerta_desde_fecha_actual_rojo,
                            P_Dias_menores_alerta_desde_fecha_actual_amarillo = info.P_Dias_menores_alerta_desde_fecha_actual_amarillo,
                            DiasTransaccionesAFuturo          = info.DiasTransaccionesAFuturo,
                            IdMovi_inven_tipo_Cambio          = info.IdMovi_inven_tipo_Cambio,
                            IdMovi_inven_tipo_Consignacion    = info.IdMovi_inven_tipo_Consignacion,
                            IdMovi_inven_tipo_elaboracion_egr = info.IdMovi_inven_tipo_elaboracion_egr,
                            IdMovi_inven_tipo_elaboracion_ing = info.IdMovi_inven_tipo_elaboracion_ing,
                            IdMotivo_Inv_elaboracion_egr      = info.IdMotivo_Inv_elaboracion_egr,
                            IdMotivo_Inv_elaboracion_ing      = info.IdMotivo_Inv_elaboracion_ing,
                            IdMotivo_Inv_ajuste_egr           = Entity.IdMotivo_Inv_ajuste_egr,
                            IdMotivo_Inv_ajuste_ing           = Entity.IdMotivo_Inv_ajuste_ing,
                            IdMovi_inven_tipo_ajuste_egr      = Entity.IdMovi_inven_tipo_ajuste_egr,
                            IdMovi_inven_tipo_ajuste_ing      = Entity.IdMovi_inven_tipo_ajuste_ing,
                            IdCatalogoEstadoAjuste            = Entity.IdCatalogoEstadoAjuste
                        };
                        Context.in_parametro.Add(Entity);
                    }
                    else
                    {
                        Entity.IdMovi_inven_tipo_egresoBodegaOrigen              = info.IdMovi_inven_tipo_egresoBodegaOrigen;
                        Entity.IdMovi_inven_tipo_ingresoBodegaDestino            = info.IdMovi_inven_tipo_ingresoBodegaDestino;
                        Entity.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing;
                        Entity.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg;
                        Entity.P_IdCtaCble_transitoria_transf_inven              = info.P_IdCtaCble_transitoria_transf_inven;
                        Entity.P_IdMovi_inven_tipo_default_ing                   = info.P_IdMovi_inven_tipo_default_ing;
                        Entity.P_IdMovi_inven_tipo_default_egr                   = info.P_IdMovi_inven_tipo_default_egr;
                        Entity.P_IdMovi_inven_tipo_ingreso_x_compra              = info.P_IdMovi_inven_tipo_ingreso_x_compra;
                        Entity.P_Dias_menores_alerta_desde_fecha_actual_rojo     = info.P_Dias_menores_alerta_desde_fecha_actual_rojo;
                        Entity.P_Dias_menores_alerta_desde_fecha_actual_amarillo = info.P_Dias_menores_alerta_desde_fecha_actual_amarillo;
                        Entity.DiasTransaccionesAFuturo          = info.DiasTransaccionesAFuturo;
                        Entity.IdMovi_inven_tipo_Cambio          = info.IdMovi_inven_tipo_Cambio;
                        Entity.IdMovi_inven_tipo_Consignacion    = info.IdMovi_inven_tipo_Consignacion;
                        Entity.IdMovi_inven_tipo_elaboracion_egr = info.IdMovi_inven_tipo_elaboracion_egr;
                        Entity.IdMovi_inven_tipo_elaboracion_ing = info.IdMovi_inven_tipo_elaboracion_ing;
                        Entity.IdMotivo_Inv_elaboracion_egr      = info.IdMotivo_Inv_elaboracion_egr;
                        Entity.IdMotivo_Inv_elaboracion_ing      = info.IdMotivo_Inv_elaboracion_ing;
                        Entity.IdMotivo_Inv_ajuste_egr           = info.IdMotivo_Inv_ajuste_egr;
                        Entity.IdMotivo_Inv_ajuste_ing           = info.IdMotivo_Inv_ajuste_ing;
                        Entity.IdMovi_inven_tipo_ajuste_egr      = info.IdMovi_inven_tipo_ajuste_egr;
                        Entity.IdMovi_inven_tipo_ajuste_ing      = info.IdMovi_inven_tipo_ajuste_ing;
                        Entity.IdCatalogoEstadoAjuste            = info.IdCatalogoEstadoAjuste;
                    }
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #11
0
        public bool guardarDB(in_transferencia_Info info)
        {
            try
            {
                int c = 1;
                using (Entities_inventario contex = new Entities_inventario())
                {
                    in_transferencia address = new in_transferencia
                    {
                        IdEmpresa                  = info.IdEmpresa,
                        IdSucursalOrigen           = info.IdSucursalOrigen,
                        IdBodegaOrigen             = info.IdBodegaOrigen,
                        IdTransferencia            = info.IdTransferencia = get_id(info.IdEmpresa, info.IdSucursalOrigen, info.IdBodegaOrigen),
                        IdSucursalDest             = info.IdSucursalDest,
                        IdBodegaDest               = info.IdBodegaDest,
                        tr_Observacion             = info.tr_Observacion,
                        IdMovi_inven_tipo_SucuOrig = info.IdMovi_inven_tipo_SucuOrig,
                        IdMovi_inven_tipo_SucuDest = info.IdMovi_inven_tipo_SucuDest,
                        tr_fecha  = Convert.ToDateTime(info.tr_fecha.ToShortDateString()),
                        Estado    = "A",
                        IdUsuario = (info.IdUsuario == null) ? "" : info.IdUsuario,
                        ip        = (info.ip == null) ? "" : info.ip,
                        nom_pc    = (info.nom_pc == null) ? "" : info.nom_pc,
                        IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat,
                        Codigo = info.Codigo,
                    };
                    contex.in_transferencia.Add(address);


                    foreach (var item in info.list_detalle)//guardando detalle de transferencia
                    {
                        in_transferencia_det addressDeta = new in_transferencia_det
                        {
                            IdEmpresa                      = info.IdEmpresa,
                            IdSucursalOrigen               = info.IdSucursalOrigen,
                            IdTransferencia                = info.IdTransferencia,
                            IdBodegaOrigen                 = info.IdBodegaOrigen,
                            IdProducto                     = item.IdProducto,
                            dt_cantidad                    = item.dt_cantidad,
                            IdUnidadMedida                 = item.IdUnidadMedida,
                            tr_Observacion                 = item.tr_Observacion,
                            IdCentroCosto                  = item.IdCentroCosto,
                            IdPunto_cargo_grupo            = item.IdPunto_cargo_grupo,
                            IdPunto_cargo                  = item.IdPunto_cargo,
                            IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo == "" ? null : item.IdCentroCosto_sub_centro_costo,
                            dt_secuencia                   = item.dt_secuencia = c,
                        };
                        c++;
                        contex.in_transferencia_det.Add(addressDeta);
                    }
                    contex.SaveChanges();



                    return(true);
                }
            }
            catch (Exception e)
            {
                throw;
            }
        }
        public bool modificarDB(in_devolucion_inven_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    int Secuencia = 1;
                    in_Ing_Egr_Inven_Data odata_inv = new in_Ing_Egr_Inven_Data();
                    var parametros = Context.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    var motivo     = Context.in_Motivo_Inven.Where(q => q.IdEmpresa == info.IdEmpresa && q.Genera_Movi_Inven == "S" && q.Tipo_Ing_Egr == (info.dev_signo == "+" ? "ING" : "EGR")).FirstOrDefault();

                    #region Creo movimiento de devolución

                    in_Ing_Egr_Inven_Info dev = armar_movi(info, info.IdMovi_inven_tipo_inv, motivo.IdMotivo_Inv);
                    dev.IdNumMovi = info.dev_IdNumMovi;
                    if (odata_inv.modificarDB(dev))
                    {
                        var Entity = Context.in_devolucion_inven.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdDev_Inven == info.IdDev_Inven).FirstOrDefault();

                        Entity.cod_Dev_Inven = info.cod_Dev_Inven;
                        Entity.Fecha         = info.Fecha.Date;
                        Entity.observacion   = info.observacion;

                        Entity.IdUsuarioUltModi = info.IdUsuarioUltModi;
                        Entity.Fecha_UltMod     = DateTime.Now;

                        Secuencia = 1;

                        var lst = Context.in_devolucion_inven_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdDev_Inven == info.IdDev_Inven).ToList();
                        Context.in_devolucion_inven_det.RemoveRange(lst);

                        foreach (var item in info.lst_det)
                        {
                            Context.in_devolucion_inven_det.Add(new in_devolucion_inven_det
                            {
                                IdEmpresa   = info.IdEmpresa,
                                IdDev_Inven = info.IdDev_Inven,
                                secuencia   = Secuencia++,

                                inv_IdEmpresa         = item.inv_IdEmpresa,
                                inv_IdSucursal        = item.inv_IdSucursal,
                                inv_IdMovi_inven_tipo = item.inv_IdMovi_inven_tipo,
                                inv_IdNumMovi         = item.inv_IdNumMovi,
                                inv_Secuencia         = item.inv_Secuencia,

                                cant_devuelta = item.cant_devuelta
                            });
                        }
                        Context.SaveChanges();
                    }

                    #endregion
                }

                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "in_devolucion_inven_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
        public bool guardarDB(in_devolucion_inven_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    info.IdEmpresa_inv         = info.lst_det[0].inv_IdEmpresa;
                    info.IdSucursal_inv        = info.lst_det[0].inv_IdSucursal;
                    info.IdMovi_inven_tipo_inv = info.lst_det[0].inv_IdMovi_inven_tipo;
                    info.IdNumMovi_inv         = info.lst_det[0].inv_IdNumMovi;

                    int Secuencia = 1;
                    in_Ing_Egr_Inven_Data odata_inv = new in_Ing_Egr_Inven_Data();
                    var parametros = Context.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    var motivo     = Context.in_Motivo_Inven.Where(q => q.IdEmpresa == info.IdEmpresa && q.Genera_Movi_Inven == "S" && q.Tipo_Ing_Egr == (info.dev_signo == "+" ? "ING" : "EGR")).FirstOrDefault();

                    #region Creo movimiento de devolución
                    in_Ing_Egr_Inven_Info dev = armar_movi(info, info.dev_signo == "+" ? Convert.ToInt32(parametros.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg) : Convert.ToInt32(parametros.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing), motivo.IdMotivo_Inv);

                    if (odata_inv.guardarDB(dev, info.dev_signo))
                    {
                        info.dev_IdEmpresa         = dev.IdEmpresa;
                        info.dev_IdSucursal        = dev.IdSucursal;
                        info.dev_IdMovi_inven_tipo = dev.IdMovi_inven_tipo;
                        info.dev_IdNumMovi         = dev.IdNumMovi;

                        Context.in_devolucion_inven.Add(new in_devolucion_inven
                        {
                            IdEmpresa             = info.IdEmpresa,
                            IdDev_Inven           = info.IdDev_Inven = get_id(info.IdEmpresa),
                            cod_Dev_Inven         = info.cod_Dev_Inven,
                            Fecha                 = info.Fecha.Date,
                            IdEmpresa_inv         = info.IdEmpresa_inv,
                            IdSucursal_inv        = info.IdSucursal_inv,
                            IdMovi_inven_tipo_inv = info.IdMovi_inven_tipo_inv,
                            IdNumMovi_inv         = info.IdNumMovi_inv,
                            dev_IdEmpresa         = info.dev_IdEmpresa,
                            dev_IdSucursal        = info.dev_IdSucursal,
                            dev_IdMovi_inven_tipo = info.dev_IdMovi_inven_tipo,
                            dev_IdNumMovi         = info.dev_IdNumMovi,
                            dev_signo             = info.dev_signo,
                            observacion           = info.observacion,
                            Estado                = info.Estado = true,
                            IdUsuario             = info.IdUsuario,
                            Fecha_Transac         = DateTime.Now
                        });
                        Secuencia = 1;
                        foreach (var item in info.lst_det)
                        {
                            Context.in_devolucion_inven_det.Add(new in_devolucion_inven_det
                            {
                                IdEmpresa   = info.IdEmpresa,
                                IdDev_Inven = info.IdDev_Inven,
                                secuencia   = Secuencia++,

                                inv_IdEmpresa         = item.inv_IdEmpresa,
                                inv_IdSucursal        = item.inv_IdSucursal,
                                inv_IdMovi_inven_tipo = item.inv_IdMovi_inven_tipo,
                                inv_IdNumMovi         = item.inv_IdNumMovi,
                                inv_Secuencia         = item.inv_Secuencia,

                                cant_devuelta = item.cant_devuelta
                            });
                        }
                        Context.SaveChanges();
                    }

                    #endregion
                }

                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "in_devolucion_inven_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
Пример #14
0
        public bool modificarDB(in_Ajuste_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    int secuencia = 1;
                    in_parametro_Info info_parametro = data_parametro.get_info(info.IdEmpresa);
                    in_Ajuste         Entity         = Context.in_Ajuste.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdAjuste == info.IdAjuste);

                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdEmpresa             = info.IdEmpresa;
                    Entity.IdSucursal            = info.IdSucursal;
                    Entity.IdAjuste              = info.IdAjuste;
                    Entity.IdBodega              = info.IdBodega;
                    Entity.IdMovi_inven_tipo_ing = info.IdMovi_inven_tipo_ing;
                    Entity.IdMovi_inven_tipo_egr = info.IdMovi_inven_tipo_egr;
                    Entity.IdNumMovi_ing         = info.IdNumMovi_ing;
                    Entity.IdNumMovi_egr         = info.IdNumMovi_egr;
                    Entity.IdCatalogo_Estado     = info.IdCatalogo_Estado;
                    Entity.Fecha                 = info.Fecha;
                    Entity.Observacion           = info.Observacion;
                    Entity.IdUsuarioModificacion = info.IdUsuarioModificacion;
                    Entity.FechaModificacion     = DateTime.Now;

                    var detalle = Context.in_AjusteDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdAjuste == info.IdAjuste);
                    Context.in_AjusteDet.RemoveRange(detalle);

                    if (info.lst_detalle.Count() > 0)
                    {
                        foreach (var item in info.lst_detalle)
                        {
                            Context.in_AjusteDet.Add(new in_AjusteDet
                            {
                                IdEmpresa      = info.IdEmpresa,
                                IdAjuste       = info.IdAjuste,
                                Secuencia      = item.Secuencia = secuencia,
                                IdProducto     = item.IdProducto,
                                IdUnidadMedida = item.IdUnidadMedida,
                                StockFisico    = item.StockFisico,
                                StockSistema   = item.StockSistema,
                                Ajuste         = item.Ajuste,
                                Costo          = item.Costo
                            });

                            secuencia++;
                        }
                    }

                    Context.SaveChanges();

                    #region Movimiento Inventario
                    Entities_inventario   dbi            = new Entities_inventario();
                    in_Ing_Egr_Inven_Data odata_i        = new in_Ing_Egr_Inven_Data();
                    int IdMovi_inven_tipo                = 0;
                    List <in_AjusteDet_Info> lst_ingreso = info.lst_detalle.Where(q => q.Ajuste > 0).ToList();
                    List <in_AjusteDet_Info> lst_egreso  = info.lst_detalle.Where(q => q.Ajuste < 0).ToList();

                    if (info_parametro == null)
                    {
                        return(false);
                    }

                    if (info.IdCatalogo_Estado == "APRO")
                    {
                        if (lst_ingreso.Count() > 0)
                        {
                            in_Ing_Egr_Inven_Info info_movi = new in_Ing_Egr_Inven_Info();
                            IdMovi_inven_tipo   = info_parametro.IdMovi_inven_tipo_ajuste_ing ?? 0;
                            info.lst_movimiento = lst_ingreso;

                            info_movi = GenerarMoviInven(info, "+", info_parametro.IdMotivo_Inv_ajuste_ing);
                            if (info_movi == null)
                            {
                                return(true);
                            }

                            if (info.IdNumMovi_ing == null && odata_i.guardarDB(info_movi, "+"))
                            {
                                info.IdNumMovi_ing   = info_movi.IdNumMovi;
                                Entity.IdNumMovi_ing = info.IdNumMovi_ing;

                                Context.SaveChanges();
                            }
                        }

                        if (lst_egreso.Count() > 0)
                        {
                            in_Ing_Egr_Inven_Info info_movi = new in_Ing_Egr_Inven_Info();
                            IdMovi_inven_tipo   = info_parametro.IdMovi_inven_tipo_ajuste_ing ?? 0;
                            info.lst_movimiento = lst_egreso;

                            info_movi = GenerarMoviInven(info, "-", info_parametro.IdMotivo_Inv_ajuste_egr);
                            if (info_movi == null)
                            {
                                return(true);
                            }

                            if (info.IdNumMovi_egr == null && odata_i.guardarDB(info_movi, "-"))
                            {
                                info.IdNumMovi_egr   = info_movi.IdNumMovi;
                                Entity.IdNumMovi_egr = info.IdNumMovi_egr;

                                Context.SaveChanges();
                            }
                        }
                    }
                    #endregion
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #15
0
        public bool EliminarContabilizacion(int IdEmpresa, int IdSucursal, int IdMovi_inven_tipo, decimal IdNumMovi)
        {
            Entities_inventario   db_i  = new Entities_inventario();
            Entities_contabilidad db_ct = new Entities_contabilidad();

            try
            {
                var lst_det = db_i.in_Ing_Egr_Inven_det.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdMovi_inven_tipo == IdMovi_inven_tipo && q.IdNumMovi == IdNumMovi).ToList();
                if (lst_det.Where(q => q.IdNumMovi_inv == null).Count() == 0)
                {
                    var PK_movi = new
                    {
                        lst_det.First().IdEmpresa_inv,
                        lst_det.First().IdSucursal_inv,
                        lst_det.First().IdBodega_inv,
                        lst_det.First().IdMovi_inven_tipo_inv,
                        lst_det.First().IdNumMovi_inv
                    };

                    #region Obtengo relacion contable y la elimino
                    var PK_conta = db_i.in_movi_inve_x_ct_cbteCble.Where(q => q.IdEmpresa == PK_movi.IdEmpresa_inv &&
                                                                         q.IdSucursal == PK_movi.IdSucursal_inv &&
                                                                         q.IdBodega == PK_movi.IdBodega_inv &&
                                                                         q.IdMovi_inven_tipo == PK_movi.IdMovi_inven_tipo_inv &&
                                                                         q.IdNumMovi == PK_movi.IdNumMovi_inv
                                                                         ).FirstOrDefault();

                    #endregion
                    if (PK_conta != null)
                    {
                        #region Elimino diario contable
                        var lst_rel_det = db_i.in_movi_inve_detalle_x_ct_cbtecble_det.Where(q => q.IdEmpresa_inv == PK_movi.IdEmpresa_inv &&
                                                                                            q.IdSucursal_inv == PK_movi.IdSucursal_inv &&
                                                                                            q.IdBodega_inv == PK_movi.IdBodega_inv &&
                                                                                            q.IdMovi_inven_tipo_inv == PK_movi.IdMovi_inven_tipo_inv &&
                                                                                            q.IdNumMovi_inv == PK_movi.IdNumMovi_inv).ToList();
                        db_i.in_movi_inve_detalle_x_ct_cbtecble_det.RemoveRange(lst_rel_det);

                        var lst_conta = db_ct.ct_cbtecble_det.Where(q => q.IdEmpresa == PK_conta.IdEmpresa_ct &&
                                                                    q.IdTipoCbte == PK_conta.IdTipoCbte &&
                                                                    q.IdCbteCble == PK_conta.IdCbteCble
                                                                    ).ToList();
                        db_ct.ct_cbtecble_det.RemoveRange(lst_conta);

                        var Conta = db_ct.ct_cbtecble.Where(q => q.IdEmpresa == PK_conta.IdEmpresa &&
                                                            q.IdTipoCbte == PK_conta.IdTipoCbte &&
                                                            q.IdCbteCble == PK_conta.IdCbteCble
                                                            ).FirstOrDefault();
                        db_ct.ct_cbtecble.Remove(Conta);
                        #endregion
                        db_i.in_movi_inve_x_ct_cbteCble.Remove(PK_conta);
                    }
                }

                db_i.SaveChanges();
                db_ct.SaveChanges();

                db_ct.Dispose();
                db_i.Dispose();

                return(true);
            }
            catch (Exception)
            {
                db_ct.Dispose();
                db_i.Dispose();
                throw;
            }
        }
Пример #16
0
        public bool guardarDB(in_parametro_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_parametro Entity = Context.in_parametro.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (Entity == null)
                    {
                        Entity = new in_parametro
                        {
                            IdEmpresa = info.IdEmpresa,
                            IdMovi_inven_tipo_egresoBodegaOrigen              = info.IdMovi_inven_tipo_egresoBodegaOrigen,
                            IdMovi_inven_tipo_ingresoBodegaDestino            = info.IdMovi_inven_tipo_ingresoBodegaDestino,
                            IdMovi_Inven_tipo_x_Dev_Inv_x_Ing                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing,
                            IdMovi_Inven_tipo_x_Dev_Inv_x_Erg                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg,
                            P_Al_Conta_CtaInven_Buscar_en                     = info.P_Al_Conta_CtaInven_Buscar_en,
                            P_Al_Conta_CtaCosto_Buscar_en                     = info.P_Al_Conta_CtaCosto_Buscar_en,
                            P_IdCtaCble_transitoria_transf_inven              = info.P_IdCtaCble_transitoria_transf_inven,
                            P_IdProductoTipo_para_lote_0                      = info.P_IdProductoTipo_para_lote_0,
                            P_se_crea_lote_0_al_crear_producto_matriz         = info.P_se_crea_lote_0_al_crear_producto_matriz,
                            IdMovi_inven_tipo_x_distribucion_ing              = info.IdMovi_inven_tipo_x_distribucion_ing,
                            IdMovi_inven_tipo_x_distribucion_egr              = info.IdMovi_inven_tipo_x_distribucion_egr,
                            P_IdMovi_inven_tipo_default_ing                   = info.P_IdMovi_inven_tipo_default_ing,
                            P_IdMovi_inven_tipo_default_egr                   = info.P_IdMovi_inven_tipo_default_egr,
                            P_IdMovi_inven_tipo_ingreso_x_compra              = info.P_IdMovi_inven_tipo_ingreso_x_compra,
                            P_Dias_menores_alerta_desde_fecha_actual_rojo     = info.P_Dias_menores_alerta_desde_fecha_actual_rojo,
                            P_Dias_menores_alerta_desde_fecha_actual_amarillo = info.P_Dias_menores_alerta_desde_fecha_actual_amarillo,
                            DiasTransaccionesAFuturo          = info.DiasTransaccionesAFuturo,
                            IdMovi_inven_tipo_Cambio          = info.IdMovi_inven_tipo_Cambio,
                            IdMovi_inven_tipo_Consignacion    = info.IdMovi_inven_tipo_Consignacion,
                            IdMovi_inven_tipo_elaboracion_egr = info.IdMovi_inven_tipo_elaboracion_egr,
                            IdMovi_inven_tipo_elaboracion_ing = info.IdMovi_inven_tipo_elaboracion_ing,
                            IdMotivo_Inv_elaboracion_egr      = info.IdMotivo_Inv_elaboracion_egr,
                            IdMotivo_Inv_elaboracion_ing      = info.IdMotivo_Inv_elaboracion_ing
                        };
                        Context.in_parametro.Add(Entity);
                    }
                    else
                    {
                        Entity.IdMovi_inven_tipo_egresoBodegaOrigen              = info.IdMovi_inven_tipo_egresoBodegaOrigen;
                        Entity.IdMovi_inven_tipo_ingresoBodegaDestino            = info.IdMovi_inven_tipo_ingresoBodegaDestino;
                        Entity.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing;
                        Entity.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg;
                        Entity.P_Al_Conta_CtaInven_Buscar_en                     = info.P_Al_Conta_CtaInven_Buscar_en;
                        Entity.P_Al_Conta_CtaCosto_Buscar_en                     = info.P_Al_Conta_CtaCosto_Buscar_en;
                        Entity.P_IdCtaCble_transitoria_transf_inven              = info.P_IdCtaCble_transitoria_transf_inven;
                        Entity.P_IdProductoTipo_para_lote_0                      = info.P_IdProductoTipo_para_lote_0;
                        Entity.P_se_crea_lote_0_al_crear_producto_matriz         = info.P_se_crea_lote_0_al_crear_producto_matriz;
                        Entity.IdMovi_inven_tipo_x_distribucion_ing              = info.IdMovi_inven_tipo_x_distribucion_ing;
                        Entity.IdMovi_inven_tipo_x_distribucion_egr              = info.IdMovi_inven_tipo_x_distribucion_egr;
                        Entity.P_IdMovi_inven_tipo_default_ing                   = info.P_IdMovi_inven_tipo_default_ing;
                        Entity.P_IdMovi_inven_tipo_default_egr                   = info.P_IdMovi_inven_tipo_default_egr;
                        Entity.P_IdMovi_inven_tipo_ingreso_x_compra              = info.P_IdMovi_inven_tipo_ingreso_x_compra;
                        Entity.P_Dias_menores_alerta_desde_fecha_actual_rojo     = info.P_Dias_menores_alerta_desde_fecha_actual_rojo;
                        Entity.P_Dias_menores_alerta_desde_fecha_actual_amarillo = info.P_Dias_menores_alerta_desde_fecha_actual_amarillo;
                        Entity.DiasTransaccionesAFuturo          = info.DiasTransaccionesAFuturo;
                        Entity.IdMovi_inven_tipo_Cambio          = info.IdMovi_inven_tipo_Cambio;
                        Entity.IdMovi_inven_tipo_Consignacion    = info.IdMovi_inven_tipo_Consignacion;
                        Entity.IdMovi_inven_tipo_elaboracion_egr = info.IdMovi_inven_tipo_elaboracion_egr;
                        Entity.IdMovi_inven_tipo_elaboracion_ing = info.IdMovi_inven_tipo_elaboracion_ing;
                        Entity.IdMotivo_Inv_elaboracion_egr      = info.IdMotivo_Inv_elaboracion_egr;
                        Entity.IdMotivo_Inv_elaboracion_ing      = info.IdMotivo_Inv_elaboracion_ing;
                    }
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #17
0
        public bool guardarDB(in_parametro_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    in_parametro Entity = Context.in_parametro.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (Entity == null)
                    {
                        Entity = new in_parametro
                        {
                            IdEmpresa = info.IdEmpresa,
                            IdMovi_inven_tipo_egresoBodegaOrigen   = info.IdMovi_inven_tipo_egresoBodegaOrigen,
                            IdMovi_inven_tipo_ingresoBodegaDestino = info.IdMovi_inven_tipo_ingresoBodegaDestino,
                            Maneja_Stock_Negativo           = info.Maneja_Stock_Negativo_bool == true ? "S" : "N",
                            Usuario_Escoge_Motivo           = info.Usuario_Escoge_Motivo_bool == true ? "S" : "N",
                            IdMovi_inven_tipo_egresoAjuste  = info.IdMovi_inven_tipo_egresoAjuste,
                            IdMovi_inven_tipo_ingresoAjuste = info.IdMovi_inven_tipo_ingresoAjuste,
                            IdCtaCble_Inven                                   = info.IdCtaCble_Inven,
                            IdCtaCble_CostoInven                              = info.IdCtaCble_CostoInven,
                            IdTipoCbte_CostoInven                             = info.IdTipoCbte_CostoInven,
                            IdTipoCbte_CostoInven_Reverso                     = info.IdTipoCbte_CostoInven_Reverso,
                            IdMovi_Inven_tipo_x_anu_Ing                       = info.IdMovi_Inven_tipo_x_anu_Ing,
                            IdMovi_Inven_tipo_x_anu_Egr                       = info.IdMovi_Inven_tipo_x_anu_Egr,
                            IdMovi_Inven_tipo_Ing_Ajust_fis_x_defa            = info.IdMovi_Inven_tipo_Ing_Ajust_fis_x_defa,
                            IdMovi_Inven_tipo_Egr_Ajust_fis_x_defa            = info.IdMovi_Inven_tipo_Egr_Ajust_fis_x_defa,
                            ApruebaAjusteFisicoAuto                           = info.ApruebaAjusteFisicoAuto_bool == true ? "S" : "N",
                            IdEstadoAproba_x_Ing                              = info.IdEstadoAproba_x_Ing,
                            IdEstadoAproba_x_Egr                              = info.IdEstadoAproba_x_Egr,
                            IdMovi_Inven_tipo_x_Dev_Inv_x_Ing                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing,
                            IdMovi_Inven_tipo_x_Dev_Inv_x_Erg                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg,
                            P_Fecha_para_contabilizacion_ingr_egr             = info.P_Fecha_para_contabilizacion_ingr_egr,
                            P_se_valida_parametrizacion_x_producto            = info.P_se_valida_parametrizacion_x_producto,
                            P_Al_Conta_CtaInven_Buscar_en                     = info.P_Al_Conta_CtaInven_Buscar_en,
                            P_Al_Conta_CtaCosto_Buscar_en                     = info.P_Al_Conta_CtaCosto_Buscar_en,
                            P_IdCtaCble_transitoria_transf_inven              = info.P_IdCtaCble_transitoria_transf_inven,
                            P_IdProductoTipo_para_lote_0                      = info.P_IdProductoTipo_para_lote_0,
                            P_se_crea_lote_0_al_crear_producto_matriz         = info.P_se_crea_lote_0_al_crear_producto_matriz,
                            IdMovi_inven_tipo_x_distribucion_ing              = info.IdMovi_inven_tipo_x_distribucion_ing,
                            IdMovi_inven_tipo_x_distribucion_egr              = info.IdMovi_inven_tipo_x_distribucion_egr,
                            P_IdMovi_inven_tipo_default_ing                   = info.P_IdMovi_inven_tipo_default_ing,
                            P_IdMovi_inven_tipo_default_egr                   = info.P_IdMovi_inven_tipo_default_egr,
                            P_IdMovi_inven_tipo_ingreso_x_compra              = info.P_IdMovi_inven_tipo_ingreso_x_compra,
                            P_Dias_menores_alerta_desde_fecha_actual_rojo     = info.P_Dias_menores_alerta_desde_fecha_actual_rojo,
                            P_Dias_menores_alerta_desde_fecha_actual_amarillo = info.P_Dias_menores_alerta_desde_fecha_actual_amarillo,
                        };
                        Context.in_parametro.Add(Entity);
                    }
                    else
                    {
                        Entity.IdMovi_inven_tipo_egresoBodegaOrigen   = info.IdMovi_inven_tipo_egresoBodegaOrigen;
                        Entity.IdMovi_inven_tipo_ingresoBodegaDestino = info.IdMovi_inven_tipo_ingresoBodegaDestino;
                        Entity.Maneja_Stock_Negativo           = info.Maneja_Stock_Negativo_bool == true ? "S" : "N";
                        Entity.Usuario_Escoge_Motivo           = info.Usuario_Escoge_Motivo_bool == true ? "S" : "N";
                        Entity.IdMovi_inven_tipo_egresoAjuste  = info.IdMovi_inven_tipo_egresoAjuste;
                        Entity.IdMovi_inven_tipo_ingresoAjuste = info.IdMovi_inven_tipo_ingresoAjuste;
                        Entity.IdCtaCble_Inven                                   = info.IdCtaCble_Inven;
                        Entity.IdCtaCble_CostoInven                              = info.IdCtaCble_CostoInven;
                        Entity.IdTipoCbte_CostoInven                             = info.IdTipoCbte_CostoInven;
                        Entity.IdTipoCbte_CostoInven_Reverso                     = info.IdTipoCbte_CostoInven_Reverso;
                        Entity.IdMovi_Inven_tipo_x_anu_Ing                       = info.IdMovi_Inven_tipo_x_anu_Ing;
                        Entity.IdMovi_Inven_tipo_x_anu_Egr                       = info.IdMovi_Inven_tipo_x_anu_Egr;
                        Entity.IdMovi_Inven_tipo_Ing_Ajust_fis_x_defa            = info.IdMovi_Inven_tipo_Ing_Ajust_fis_x_defa;
                        Entity.IdMovi_Inven_tipo_Egr_Ajust_fis_x_defa            = info.IdMovi_Inven_tipo_Egr_Ajust_fis_x_defa;
                        Entity.ApruebaAjusteFisicoAuto                           = info.ApruebaAjusteFisicoAuto_bool == true ? "S" : "N";
                        Entity.IdEstadoAproba_x_Ing                              = info.IdEstadoAproba_x_Ing;
                        Entity.IdEstadoAproba_x_Egr                              = info.IdEstadoAproba_x_Egr;
                        Entity.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing;
                        Entity.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg                 = info.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg;
                        Entity.P_Fecha_para_contabilizacion_ingr_egr             = info.P_Fecha_para_contabilizacion_ingr_egr;
                        Entity.P_se_valida_parametrizacion_x_producto            = info.P_se_valida_parametrizacion_x_producto;
                        Entity.P_Al_Conta_CtaInven_Buscar_en                     = info.P_Al_Conta_CtaInven_Buscar_en;
                        Entity.P_Al_Conta_CtaCosto_Buscar_en                     = info.P_Al_Conta_CtaCosto_Buscar_en;
                        Entity.P_IdCtaCble_transitoria_transf_inven              = info.P_IdCtaCble_transitoria_transf_inven;
                        Entity.P_IdProductoTipo_para_lote_0                      = info.P_IdProductoTipo_para_lote_0;
                        Entity.P_se_crea_lote_0_al_crear_producto_matriz         = info.P_se_crea_lote_0_al_crear_producto_matriz;
                        Entity.IdMovi_inven_tipo_x_distribucion_ing              = info.IdMovi_inven_tipo_x_distribucion_ing;
                        Entity.IdMovi_inven_tipo_x_distribucion_egr              = info.IdMovi_inven_tipo_x_distribucion_egr;
                        Entity.P_IdMovi_inven_tipo_default_ing                   = info.P_IdMovi_inven_tipo_default_ing;
                        Entity.P_IdMovi_inven_tipo_default_egr                   = info.P_IdMovi_inven_tipo_default_egr;
                        Entity.P_IdMovi_inven_tipo_ingreso_x_compra              = info.P_IdMovi_inven_tipo_ingreso_x_compra;
                        Entity.P_Dias_menores_alerta_desde_fecha_actual_rojo     = info.P_Dias_menores_alerta_desde_fecha_actual_rojo;
                        Entity.P_Dias_menores_alerta_desde_fecha_actual_amarillo = info.P_Dias_menores_alerta_desde_fecha_actual_amarillo;
                    }
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool ModificarDB(in_Consignacion_Info info)
        {
            try
            {
                in_Ing_Egr_Inven_Data data_inv       = new in_Ing_Egr_Inven_Data();
                cp_proveedor_Data     data_proveedor = new cp_proveedor_Data();

                using (Entities_inventario db = new Entities_inventario())
                {
                    in_Consignacion Entity = db.in_Consignacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConsignacion == info.IdConsignacion).FirstOrDefault();

                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdProveedor     = info.IdProveedor;
                    Entity.IdBodega        = info.IdBodega;
                    Entity.Fecha           = info.Fecha;
                    Entity.Observacion     = info.Observacion;
                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;

                    var lst_det_consignacion = db.in_ConsignacionDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConsignacion == info.IdConsignacion).ToList();
                    db.in_ConsignacionDet.RemoveRange(lst_det_consignacion);

                    if (info.lst_producto_consignacion != null)
                    {
                        int Secuencia = 1;

                        foreach (var item in info.lst_producto_consignacion)
                        {
                            db.in_ConsignacionDet.Add(new in_ConsignacionDet
                            {
                                IdEmpresa      = info.IdEmpresa,
                                IdConsignacion = info.IdConsignacion,
                                Secuencia      = Secuencia++,
                                IdProducto     = item.IdProducto,
                                IdUnidadMedida = item.IdUnidadMedida,
                                Cantidad       = item.Cantidad,
                                Costo          = item.Costo,
                                Observacion    = item.Observacion
                            });
                        }
                    }

                    #region Ingreso egreso inventario
                    var parametro = db.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    info.IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_Consignacion;
                    cp_proveedor_Info dato_proveedor = data_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                    var nomContacto = dato_proveedor.info_persona.pe_nombreCompleto;

                    in_Ing_Egr_Inven_Info movimiento = armar_movi_inven(info, nomContacto);

                    if (movimiento != null)
                    {
                        movimiento.IdNumMovi = info.IdNumMovi;
                        data_inv.modificarDB(movimiento);
                    }
                    #endregion

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool GuardarBD(in_Consignacion_Info info)
        {
            try
            {
                in_Ing_Egr_Inven_Data data_inv       = new in_Ing_Egr_Inven_Data();
                cp_proveedor_Data     data_proveedor = new cp_proveedor_Data();

                using (Entities_inventario db = new Entities_inventario())
                {
                    var parametro = db.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    info.IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_Consignacion;
                    cp_proveedor_Info dato_proveedor = data_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                    var nomContacto = dato_proveedor.info_persona.pe_nombreCompleto;

                    in_Ing_Egr_Inven_Info movimiento = armar_movi_inven(info, nomContacto);
                    if (data_inv.guardarDB(movimiento, "+"))
                    {
                        #region Consignacion
                        db.in_Consignacion.Add(new in_Consignacion
                        {
                            IdEmpresa         = info.IdEmpresa,
                            IdConsignacion    = info.IdConsignacion = GetId(info.IdEmpresa),
                            IdSucursal        = info.IdSucursal,
                            IdBodega          = info.IdBodega,
                            Fecha             = info.Fecha,
                            IdProveedor       = info.IdProveedor,
                            Observacion       = info.Observacion,
                            Estado            = true,
                            IdUsuario         = info.IdUsuario,
                            Fecha_Transac     = DateTime.Now,
                            IdMovi_inven_tipo = movimiento.IdMovi_inven_tipo,
                            IdNumMovi         = movimiento.IdNumMovi,
                        });
                        #endregion

                        #region Consignacion detalle
                        if (info.lst_producto_consignacion != null)
                        {
                            int Secuencia = 1;
                            foreach (var item in info.lst_producto_consignacion)
                            {
                                db.in_ConsignacionDet.Add(new in_ConsignacionDet
                                {
                                    IdEmpresa      = info.IdEmpresa,
                                    IdConsignacion = info.IdConsignacion,
                                    Secuencia      = Secuencia++,
                                    IdProducto     = item.IdProducto,
                                    IdUnidadMedida = item.IdUnidadMedida,
                                    Cantidad       = item.Cantidad,
                                    Costo          = item.Costo,
                                    Observacion    = item.Observacion
                                });
                            }
                        }
                        #endregion
                    }

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #20
0
        public bool Aprobar(int IdEmpresa, int IdSucursal, int IdMovi_inven_tipo, decimal IdNumMovi)
        {
            try
            {
                using (Entities_inventario db = new Entities_inventario())
                {
                    #region Movimiento pre aprobado
                    var c = db.in_Ing_Egr_Inven.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdMovi_inven_tipo == IdMovi_inven_tipo && q.IdNumMovi == IdNumMovi).FirstOrDefault();
                    if (c == null)
                    {
                        return(false);
                    }

                    var d = db.in_Ing_Egr_Inven_det.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdMovi_inven_tipo == IdMovi_inven_tipo && q.IdNumMovi == IdNumMovi).ToList();
                    if (d.Count == 0)
                    {
                        return(false);
                    }
                    #endregion

                    #region Cabecera
                    in_movi_inve cab = new in_movi_inve
                    {
                        IdEmpresa         = IdEmpresa,
                        IdSucursal        = IdSucursal,
                        IdMovi_inven_tipo = IdMovi_inven_tipo,
                        IdBodega          = d.First().IdBodega,
                        IdNumMovi         = GetId_movi_inven(IdEmpresa, IdSucursal, d.First().IdBodega, IdMovi_inven_tipo, IdNumMovi),
                        CodMoviInven      = c.CodMoviInven,
                        cm_tipo           = c.signo,
                        cm_observacion    = c.cm_observacion,
                        cm_fecha          = c.cm_fecha,
                        Estado            = "A",
                        IdMotivo_Inv      = c.IdMotivo_Inv
                    };
                    db.in_movi_inve.Add(cab);
                    db.SaveChanges();
                    #endregion

                    #region Detalle
                    int Secuencia = 1;
                    foreach (var item in d)
                    {
                        var det = db.vwin_Ing_Egr_Inven_det_conversion.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdMovi_inven_tipo == item.IdMovi_inven_tipo && q.IdNumMovi == item.IdNumMovi && q.Secuencia == item.Secuencia).FirstOrDefault();
                        if (det != null)
                        {
                            db.in_movi_inve_detalle.Add(new in_movi_inve_detalle
                            {
                                IdEmpresa         = cab.IdEmpresa,
                                IdSucursal        = cab.IdSucursal,
                                IdBodega          = cab.IdBodega,
                                IdMovi_inven_tipo = cab.IdMovi_inven_tipo,
                                IdNumMovi         = cab.IdNumMovi,
                                Secuencia         = Secuencia,

                                mv_tipo_movi   = cab.cm_tipo,
                                IdProducto     = item.IdProducto,
                                dm_observacion = item.dm_observacion,

                                dm_cantidad_sinConversion    = item.dm_cantidad_sinConversion,
                                IdUnidadMedida_sinConversion = item.IdUnidadMedida_sinConversion,
                                mv_costo_sinConversion       = item.mv_costo_sinConversion,

                                IdUnidadMedida = det.IdUnidadMedida_Consumo,
                                dm_cantidad    = det.dm_cantidad,
                                mv_costo       = det.mv_costo,

                                IdCentroCosto = item.IdCentroCosto,
                                IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo,
                                Costeado     = true,
                                IdMotivo_Inv = item.IdMotivo_Inv,
                            });
                            item.mv_costo       = det.mv_costo;
                            item.dm_cantidad    = det.dm_cantidad;
                            item.IdUnidadMedida = det.IdUnidadMedida_Consumo;

                            item.IdEmpresa_inv         = cab.IdEmpresa;
                            item.IdSucursal_inv        = cab.IdSucursal;
                            item.IdBodega_inv          = cab.IdBodega;
                            item.IdMovi_inven_tipo_inv = cab.IdMovi_inven_tipo;
                            item.IdNumMovi_inv         = cab.IdNumMovi;
                            item.secuencia_inv         = Secuencia++;
                        }
                    }
                    #endregion

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #21
0
        public bool guardarDB(in_Ajuste_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    int secuencia = 1;
                    in_parametro_Info info_parametro = data_parametro.get_info(info.IdEmpresa);

                    in_Ajuste Entity = new in_Ajuste
                    {
                        IdEmpresa             = info.IdEmpresa,
                        IdSucursal            = info.IdSucursal,
                        IdAjuste              = info.IdAjuste = get_id(info.IdEmpresa),
                        IdBodega              = info.IdBodega,
                        IdMovi_inven_tipo_ing = info.IdMovi_inven_tipo_ing = info_parametro.IdMovi_inven_tipo_ajuste_ing,
                        IdMovi_inven_tipo_egr = info.IdMovi_inven_tipo_egr = info_parametro.IdMovi_inven_tipo_ajuste_egr,
                        IdNumMovi_ing         = info.IdNumMovi_ing,
                        IdNumMovi_egr         = info.IdNumMovi_egr,
                        IdCatalogo_Estado     = info.IdCatalogo_Estado,
                        Fecha             = info.Fecha,
                        Observacion       = info.Observacion,
                        Estado            = info.Estado,
                        IdUsuarioCreacion = info.IdUsuarioCreacion,
                        FechaCreacion     = DateTime.Now
                    };

                    Context.in_Ajuste.Add(Entity);

                    foreach (var item in info.lst_detalle)
                    {
                        in_AjusteDet entity_det = new in_AjusteDet
                        {
                            IdEmpresa      = info.IdEmpresa,
                            IdAjuste       = info.IdAjuste,
                            Secuencia      = item.Secuencia = secuencia,
                            IdProducto     = item.IdProducto,
                            IdUnidadMedida = item.IdUnidadMedida,
                            StockFisico    = item.StockFisico,
                            StockSistema   = item.StockSistema,
                            Ajuste         = item.Ajuste,
                            Costo          = item.Costo
                        };
                        secuencia++;
                        Context.in_AjusteDet.Add(entity_det);
                    }

                    Context.SaveChanges();

                    #region Movimiento Inventario
                    Entities_inventario   dbi            = new Entities_inventario();
                    in_Ing_Egr_Inven_Data odata_i        = new in_Ing_Egr_Inven_Data();
                    int IdMovi_inven_tipo                = 0;
                    List <in_AjusteDet_Info> lst_ingreso = info.lst_detalle.Where(q => q.Ajuste > 0).ToList();
                    List <in_AjusteDet_Info> lst_egreso  = info.lst_detalle.Where(q => q.Ajuste < 0).ToList();

                    if (info_parametro == null)
                    {
                        return(false);
                    }

                    if (info.IdCatalogo_Estado == "APRO")
                    {
                        if (lst_ingreso.Count() > 0)
                        {
                            in_Ing_Egr_Inven_Info info_movi = new in_Ing_Egr_Inven_Info();
                            IdMovi_inven_tipo   = info_parametro.IdMovi_inven_tipo_ajuste_ing ?? 0;
                            info.lst_movimiento = lst_ingreso;

                            info_movi = GenerarMoviInven(info, "+", info_parametro.IdMotivo_Inv_ajuste_ing);
                            if (info_movi == null)
                            {
                                return(true);
                            }

                            if (info.IdNumMovi_ing == null && odata_i.guardarDB(info_movi, "+"))
                            {
                                info.IdNumMovi_ing   = info_movi.IdNumMovi;
                                Entity.IdNumMovi_ing = info.IdNumMovi_ing;

                                Context.SaveChanges();
                            }
                        }

                        if (lst_egreso.Count() > 0)
                        {
                            in_Ing_Egr_Inven_Info info_movi = new in_Ing_Egr_Inven_Info();
                            IdMovi_inven_tipo   = info_parametro.IdMovi_inven_tipo_ajuste_ing ?? 0;
                            info.lst_movimiento = lst_egreso;

                            info_movi = GenerarMoviInven(info, "-", info_parametro.IdMotivo_Inv_ajuste_egr);
                            if (info_movi == null)
                            {
                                return(true);
                            }

                            if (info.IdNumMovi_egr == null && odata_i.guardarDB(info_movi, "-"))
                            {
                                info.IdNumMovi_egr   = info_movi.IdNumMovi;
                                Entity.IdNumMovi_egr = info.IdNumMovi_egr;

                                Context.SaveChanges();
                            }
                        }
                    }
                    #endregion

                    Context.Dispose();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }