public bool guardarDB(in_Ing_Egr_Inven_Info info, string signo)
 {
     try
     {
         return(odata.guardarDB(info, signo));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public bool guardarDB(in_Ing_Egr_Inven_Info info, string signo)
 {
     try
     {
         return(odata.guardarDB(info, signo));
     }
     catch (Exception ex)
     {
         tb_LogError_Bus LogData = new tb_LogError_Bus();
         LogData.GuardarDB(new tb_LogError_Info {
             Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "in_Ing_Egr_Inven_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario
         });
         return(false);
     }
 }
        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;
            }
        }
        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;
            }
        }
Exemple #5
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;
            }
        }
        public bool guardarDB(cp_orden_giro_Info info)
        {
            try
            {
                using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
                {
                    cp_orden_giro Entity = new cp_orden_giro
                    {
                        IdEmpresa                     = info.IdEmpresa,
                        IdCbteCble_Ogiro              = info.IdCbteCble_Ogiro,
                        IdTipoCbte_Ogiro              = info.IdTipoCbte_Ogiro,
                        IdOrden_giro_Tipo             = info.IdOrden_giro_Tipo,
                        IdProveedor                   = info.IdProveedor,
                        co_fechaOg                    = info.co_fechaOg,
                        co_serie                      = info.co_serie,
                        co_factura                    = info.co_factura,
                        co_FechaFactura               = info.co_FechaFactura,
                        co_FechaContabilizacion       = info.co_FechaContabilizacion,
                        co_FechaFactura_vct           = info.co_FechaFactura_vct,
                        co_plazo                      = info.co_plazo,
                        co_observacion                = info.co_observacion,
                        co_subtotal_iva               = info.co_subtotal_iva,
                        co_subtotal_siniva            = info.co_subtotal_siniva,
                        co_baseImponible              = info.co_baseImponible,
                        co_Por_iva                    = info.co_Por_iva,
                        co_valoriva                   = info.co_valoriva,
                        IdCod_ICE                     = info.IdCod_ICE,
                        co_total                      = info.co_total,
                        co_valorpagar                 = info.co_valorpagar,
                        co_vaCoa                      = "S",
                        IdIden_credito                = info.IdIden_credito,
                        IdCod_101                     = info.IdCod_101,
                        IdTipoFlujo                   = info.IdTipoFlujo,
                        IdTipoServicio                = info.IdTipoServicio,
                        IdSucursal                    = info.IdSucursal,
                        PagoLocExt                    = info.PagoLocExt,
                        PaisPago                      = info.PaisPago,
                        ConvenioTributacion           = info.ConvenioTributacion_bool == true ? "SI" : "NO",
                        PagoSujetoRetencion           = info.PagoSujetoRetencion_bool == true ? "SI" : "NO",
                        BseImpNoObjDeIva              = info.BseImpNoObjDeIva,
                        fecha_autorizacion            = info.fecha_autorizacion,
                        Num_Autorizacion              = info.Num_Autorizacion,
                        Num_Autorizacion_Imprenta     = info.Num_Autorizacion_Imprenta,
                        cp_es_comprobante_electronico = info.cp_es_comprobante_electronico,
                        Tipodoc_a_Modificar           = info.Tipodoc_a_Modificar,
                        estable_a_Modificar           = info.estable_a_Modificar,
                        ptoEmi_a_Modificar            = info.ptoEmi_a_Modificar,
                        num_docu_Modificar            = info.num_docu_Modificar,
                        aut_doc_Modificar             = info.aut_doc_Modificar,
                        IdTipoMovi                    = info.IdTipoMovi,
                        Estado         = "A",
                        IdUsuario      = info.IdUsuario,
                        Fecha_Transac  = info.Fecha_Transac = DateTime.Now,
                        IdBodega       = info.IdBodega,
                        IdSucursal_cxp = info.IdSucursal_cxp
                    };

                    if (info.lst_det.Count > 0)
                    {
                        int secuencia = 1;
                        foreach (var item in info.lst_det)
                        {
                            Context.cp_orden_giro_det.Add(new cp_orden_giro_det
                            {
                                IdEmpresa          = info.IdEmpresa,
                                IdTipoCbte_Ogiro   = info.IdTipoCbte_Ogiro,
                                IdCbteCble_Ogiro   = info.IdCbteCble_Ogiro,
                                Secuencia          = secuencia++,
                                IdProducto         = item.IdProducto,
                                Cantidad           = item.Cantidad,
                                CostoUni           = item.CostoUni,
                                PorDescuento       = item.PorDescuento,
                                PorIva             = item.PorIva,
                                DescuentoUni       = item.DescuentoUni,
                                IdUnidadMedida     = item.IdUnidadMedida,
                                CostoUniFinal      = item.CostoUniFinal,
                                IdCod_Impuesto_Iva = item.IdCod_Impuesto_Iva,
                                Subtotal           = item.Subtotal,
                                ValorIva           = item.ValorIva,
                                Total        = item.Total,
                                IdCtaCbleInv = item.IdCtaCbleInv,

                                IdEmpresa_oc  = item.IdEmpresa_oc,
                                IdSucursal_oc = item.IdSucursal_oc,
                                IdOrdenCompra = item.IdOrdenCompra,
                                Secuencia_oc  = item.Secuencia_oc
                            });
                        }

                        var movi = armar_movi_inven(info, null);
                        if (movi != null)
                        {
                            if (data_inv.guardarDB(movi, "+"))
                            {
                                Context.cp_orden_giro_x_in_Ing_Egr_Inven.Add(new cp_orden_giro_x_in_Ing_Egr_Inven
                                {
                                    og_IdEmpresa        = info.IdEmpresa,
                                    og_IdTipoCbte_Ogiro = info.IdTipoCbte_Ogiro,
                                    og_IdCbteCble_Ogiro = info.IdCbteCble_Ogiro,

                                    inv_IdEmpresa         = movi.IdEmpresa,
                                    inv_IdSucursal        = movi.IdSucursal,
                                    inv_IdMovi_inven_tipo = movi.IdMovi_inven_tipo,
                                    inv_IdNumMovi         = movi.IdNumMovi
                                });
                            }
                        }
                    }

                    Context.cp_orden_giro.Add(Entity);

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