コード例 #1
0
        public bool anularDB(in_devolucion_inven_Info info)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    var Entity = Context.in_devolucion_inven.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdDev_Inven == info.IdDev_Inven).FirstOrDefault();

                    Entity.Estado          = false;
                    Entity.IdusuarioUltAnu = info.IdusuarioUltAnu;
                    Entity.Fecha_UltAnu    = DateTime.Now;
                    in_Ing_Egr_Inven_Data odata_inv = new in_Ing_Egr_Inven_Data();
                    if (!odata_inv.anularDB(new in_Ing_Egr_Inven_Info {
                        IdEmpresa = info.dev_IdEmpresa, IdSucursal = info.dev_IdSucursal, IdMovi_inven_tipo = info.dev_IdMovi_inven_tipo, IdNumMovi = info.dev_IdNumMovi, IdusuarioUltAnu = info.IdusuarioUltAnu
                    }))
                    {
                        Entity.IdusuarioUltAnu = null;
                        Entity.Fecha_UltAnu    = null;
                        Entity.Estado          = true;
                    }

                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
        public bool AnularBD(in_Consignacion_Info info)
        {
            try
            {
                #region Variables
                in_Ing_Egr_Inven_Data data_inv = new in_Ing_Egr_Inven_Data();
                #endregion

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

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

                    Entity.MotivoAnulacion = info.MotivoAnulacion;
                    Entity.Estado          = false;
                    Entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                    Entity.Fecha_UltAnu    = DateTime.Now;

                    #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;

                    if (!data_inv.anularDB(new in_Ing_Egr_Inven_Info {
                        IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdMovi_inven_tipo = info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi, IdusuarioUltAnu = info.IdUsuarioUltAnu, MotivoAnulacion = info.MotivoAnulacion
                    }))
                    {
                    }
                    #endregion

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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;
            }
        }
コード例 #6
0
        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;
            }
        }
コード例 #7
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;
            }
        }
コード例 #8
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;
            }
        }