Exemplo n.º 1
0
        public bool GuardarDB(fa_CambioProducto_Info info)
        {
            try
            {
                Entities_facturacion db = new Entities_facturacion();
                #region Cambio producto
                db.fa_CambioProducto.Add(new fa_CambioProducto
                {
                    IdEmpresa   = info.IdEmpresa,
                    IdSucursal  = info.IdSucursal,
                    IdBodega    = info.IdBodega,
                    IdCambio    = info.IdCambio = GetId(info.IdEmpresa, info.IdSucursal, info.IdBodega),
                    Fecha       = info.Fecha.Date,
                    Observacion = info.Observacion,
                    Estado      = true,

                    IdUsuario    = info.IdUsuario,
                    FechaTransac = DateTime.Now
                });
                int secuencia = 1;
                foreach (var item in info.LstDet)
                {
                    db.fa_CambioProductoDet.Add(new fa_CambioProductoDet
                    {
                        IdEmpresa  = info.IdEmpresa,
                        IdSucursal = info.IdSucursal,
                        IdBodega   = info.IdBodega,
                        IdCambio   = info.IdCambio,
                        Secuencia  = secuencia++,

                        IdCbteVta        = item.IdCbteVta,
                        SecuenciaFact    = item.SecuenciaFact,
                        IdProductoFact   = item.IdProductoFact,
                        IdProductoCambio = item.IdProductoCambio,
                        CantidadCambio   = item.CantidadCambio,
                        CantidadFact     = item.CantidadFact
                    });
                }
                db.SaveChanges();

                #endregion



                #region Egreso y devoluciones
                if (info.GenerarDevolucion)
                {
                    Entities_inventario   dbi     = new Entities_inventario();
                    in_Ing_Egr_Inven_Data odata_i = new in_Ing_Egr_Inven_Data();

                    var parametro = dbi.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    if (parametro == null)
                    {
                        return(true);
                    }

                    info.IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_Cambio;
                    var movi = GenerarMoviInven(info);
                    if (movi == null)
                    {
                        return(true);
                    }

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

                        var Entity = db.fa_CambioProducto.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdCambio == info.IdCambio).FirstOrDefault();
                        if (Entity == null)
                        {
                            return(true);
                        }
                        Entity.IdMovi_inven_tipo = info.IdMovi_inven_tipo;
                        Entity.IdNumMovi         = info.IdNumMovi;
                        db.SaveChanges();

                        GenerarDevoluciones(info);
                    }
                    else
                    {
                        GenerarDevoluciones(info);
                    }
                }
                db.Dispose();
                #endregion

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 2
0
        public bool ModificarDB(pro_Fabricacion_Info info)
        {
            try
            {
                using (Entities_produccion Context = new Entities_produccion())
                {
                    #region Cab&Det

                    pro_Fabricacion Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.egr_IdSucursal        = info.egr_IdSucursal;
                    Entity.ing_IdSucursal        = info.ing_IdSucursal;
                    Entity.egr_IdBodega          = info.egr_IdBodega;
                    Entity.egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo;
                    Entity.egr_IdNumMovi         = info.egr_IdNumMovi;
                    Entity.Fecha                 = info.Fecha;
                    Entity.ing_IdBodega          = info.ing_IdBodega;
                    Entity.ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo;
                    Entity.Observacion           = info.Observacion;
                    Entity.ing_IdNumMovi         = info.ing_IdNumMovi;

                    Entity.IdUsuarioModificacion = info.IdUsuarioModificacion;
                    Entity.FechaModificacion     = DateTime.Now;

                    var detalle = Context.pro_FabricacionDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion);
                    Context.pro_FabricacionDet.RemoveRange(detalle);
                    if (info.LstDet.Count() > 0)
                    {
                        foreach (var item in info.LstDet)
                        {
                            Context.pro_FabricacionDet.Add(new pro_FabricacionDet
                            {
                                IdEmpresa         = info.IdEmpresa,
                                IdFabricacion     = info.IdFabricacion,
                                IdProducto        = item.IdProducto,
                                Cantidad          = item.Cantidad,
                                Costo             = item.Costo,
                                RealizaMovimiento = item.RealizaMovimiento,
                                Secuencia         = item.Secuencia,
                                Signo             = item.Signo,
                                IdUnidadMedida    = item.IdUnidadMedida
                            });
                        }
                    }
                    #endregion
                    #region MOV

                    if (info.Cerrar)
                    {
                        Entities_inventario   dbi     = new Entities_inventario();
                        in_Ing_Egr_Inven_Data odata_i = new in_Ing_Egr_Inven_Data();
                        var parametro = dbi.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                        if (parametro == null)
                        {
                            return(true);
                        }
                        #region EGR

                        info.egr_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_egr;
                        var movi_egr = GenerarMoviInven(info, "-");
                        if (movi_egr == null)
                        {
                            return(true);
                        }

                        if (info.egr_IdNumMovi == null && odata_i.guardarDB(movi_egr, "-"))
                        {
                            info.egr_IdNumMovi = movi_egr.IdNumMovi;

                            Entity.egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo;
                            Entity.egr_IdNumMovi         = info.egr_IdNumMovi;
                            Context.SaveChanges();
                        }
                        #endregion
                        #region ING
                        info.ing_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_ing;
                        var movi_ing = GenerarMoviInven(info, "+");
                        if (movi_ing == null)
                        {
                            return(true);
                        }
                        if (info.ing_IdNumMovi == null && odata_i.guardarDB(movi_ing, "+"))
                        {
                            info.ing_IdNumMovi = movi_ing.IdNumMovi;

                            Entity.ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo;
                            Entity.ing_IdNumMovi         = info.ing_IdNumMovi;
                            Context.SaveChanges();
                        }
                        #endregion
                    }
                    #endregion
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 3
0
        public bool GuardarDB(pro_Fabricacion_Info info)
        {
            try
            {
                using (Entities_produccion Context = new Entities_produccion())
                {
                    #region FAB
                    #region CAB
                    Context.pro_Fabricacion.Add(new pro_Fabricacion
                    {
                        IdEmpresa             = info.IdEmpresa,
                        IdFabricacion         = info.IdFabricacion = GetId(info.IdEmpresa),
                        egr_IdSucursal        = info.egr_IdSucursal,
                        ing_IdSucursal        = info.ing_IdSucursal,
                        Estado                = true,
                        egr_IdBodega          = info.egr_IdBodega,
                        egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo,
                        egr_IdNumMovi         = info.egr_IdNumMovi,
                        Fecha                 = info.Fecha,
                        ing_IdBodega          = info.ing_IdBodega,
                        ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo,
                        Observacion           = info.Observacion,
                        ing_IdNumMovi         = info.ing_IdNumMovi,

                        IdUsuarioCreacion = info.IdUsuarioCreacion,
                        FechaCreacion     = DateTime.Now
                    });
                    #endregion
                    #region DET
                    if (info.LstDet.Count() > 0)
                    {
                        foreach (var item in info.LstDet)
                        {
                            Context.pro_FabricacionDet.Add(new pro_FabricacionDet
                            {
                                IdEmpresa         = info.IdEmpresa,
                                IdFabricacion     = info.IdFabricacion,
                                IdProducto        = item.IdProducto,
                                Cantidad          = item.Cantidad,
                                Costo             = item.Costo,
                                RealizaMovimiento = item.RealizaMovimiento,
                                Secuencia         = item.Secuencia,
                                Signo             = item.Signo,
                                IdUnidadMedida    = item.IdUnidadMedida
                            });
                        }
                    }
                    Context.SaveChanges();
                    #endregion
                    #endregion
                    #region MOV

                    if (info.Cerrar)
                    {
                        Entities_inventario   dbi     = new Entities_inventario();
                        in_Ing_Egr_Inven_Data odata_i = new in_Ing_Egr_Inven_Data();
                        var parametro = dbi.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                        if (parametro == null)
                        {
                            return(true);
                        }
                        #region EGR

                        info.egr_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_egr;
                        var movi_egr = GenerarMoviInven(info, "-", parametro.IdMotivo_Inv_elaboracion_egr);
                        if (movi_egr == null)
                        {
                            return(true);
                        }

                        if (info.egr_IdNumMovi == null && odata_i.guardarDB(movi_egr, "-"))
                        {
                            info.egr_IdNumMovi = movi_egr.IdNumMovi;

                            var Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion).FirstOrDefault();

                            if (Entity == null)
                            {
                                return(true);
                            }
                            Entity.egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo;
                            Entity.egr_IdNumMovi         = info.egr_IdNumMovi;
                            Context.SaveChanges();
                        }
                        #endregion
                        #region ING
                        info.ing_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_ing;
                        var movi_ing = GenerarMoviInven(info, "+", parametro.IdMotivo_Inv_elaboracion_ing);
                        if (movi_ing == null)
                        {
                            return(true);
                        }
                        if (info.ing_IdNumMovi == null && odata_i.guardarDB(movi_ing, "+"))
                        {
                            info.ing_IdNumMovi = movi_ing.IdNumMovi;
                            var Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion).FirstOrDefault();
                            if (Entity == null)
                            {
                                return(true);
                            }
                            Entity.ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo;
                            Entity.ing_IdNumMovi         = info.ing_IdNumMovi;
                            Context.SaveChanges();
                        }
                        #endregion
                    }
                    Context.Dispose();
                    #endregion
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }