コード例 #1
0
 public bool modificarEstado(tb_comprobantes_sin_autorizacion_Info info)
 {
     try
     {
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.FACT.ToString())
         {
             using (Entities_facturacion Context = new Entities_facturacion())
             {
                 var Entity = Context.fa_factura.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                       q.IdCbteVta == info.IdCbteVta &&
                                                       q.vt_serie1 == info.vt_serie1 &&
                                                       q.vt_serie2 == info.vt_serie2 &&
                                                       q.vt_NumFactura == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.RETEN.ToString())
         {
             using (Entities_cuentas_por_pagar Context = new Entities_cuentas_por_pagar())
             {
                 var Entity = Context.cp_retencion.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                         q.IdRetencion == info.IdCbteVta &&
                                                         q.serie1 == info.vt_serie1 &&
                                                         q.serie2 == info.vt_serie2 &&
                                                         q.NumRetencion == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.NTCR.ToString())
         {
             using (Entities_facturacion Context = new Entities_facturacion())
             {
                 var Entity = Context.fa_notaCreDeb.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                          q.IdNota == info.IdCbteVta &&
                                                          q.Serie1 == info.vt_serie1 &&
                                                          q.Serie2 == info.vt_serie2 &&
                                                          q.NumNota_Impresa == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         if (info.Tipo_documento == cl_enumeradores.eTipoDocumento.GUIA.ToString())
         {
             using (Entities_facturacion Context = new Entities_facturacion())
             {
                 var Entity = Context.fa_guia_remision.Where(q => q.IdEmpresa == info.IdEmpresa &&
                                                             q.IdGuiaRemision == info.IdCbteVta &&
                                                             q.Serie1 == info.vt_serie1 &&
                                                             q.Serie2 == info.vt_serie2 &&
                                                             q.NumGuia_Preimpresa == info.DocumentoDoc).FirstOrDefault();
                 Entity.aprobada_enviar_sri = true;
                 Context.SaveChanges();
             }
         }
         return(true);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #2
0
        public fa_cliente_Info get_info(int IdEmpresa, decimal IdCliente)
        {
            try
            {
                fa_cliente_Info      info      = new fa_cliente_Info();
                Entities_facturacion Context_f = new Entities_facturacion();
                Entities_general     Context_g = new Entities_general();

                fa_cliente Entity = Context_f.fa_cliente.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdCliente == IdCliente);
                if (Entity == null)
                {
                    return(null);
                }

                info = new fa_cliente_Info
                {
                    IdEmpresa = Entity.IdEmpresa,
                    cl_Cupo   = Entity.cl_Cupo,
                    cl_plazo  = Entity.cl_plazo,
                    Codigo    = Entity.Codigo,
                    Estado    = Entity.Estado,
                    es_empresa_relacionada = Entity.es_empresa_relacionada,
                    IdCliente             = Entity.IdCliente,
                    FormaPago             = Entity.FormaPago,
                    IdCtaCble_cxc_Credito = Entity.IdCtaCble_cxc_Credito,
                    IdCtaCble_Anticipo    = Entity.IdCtaCble_Anticipo,
                    IdPersona             = Entity.IdPersona,
                    IdTipoCredito         = Entity.IdTipoCredito,
                    Idtipo_cliente        = Entity.Idtipo_cliente,
                    IdNivel             = Entity.IdNivel,
                    EsClienteExportador = Entity.EsClienteExportador
                };

                fa_cliente_contactos Entity_contacto = Context_f.fa_cliente_contactos.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault();
                info.IdContacto  = Entity_contacto.IdContacto;
                info.Correo      = Entity_contacto.Correo;
                info.Direccion   = Entity_contacto.Direccion;
                info.Telefono    = Entity_contacto.Telefono;
                info.Celular     = Entity_contacto.Celular;
                info.IdCiudad    = Entity_contacto.IdCiudad;
                info.IdParroquia = Entity_contacto.IdParroquia;

                tb_ciudad Entity_ciudad = Context_g.tb_ciudad.Where(q => q.IdCiudad == info.IdCiudad).FirstOrDefault();
                info.Descripcion_Ciudad = Entity_ciudad.Descripcion_Ciudad;

                tb_persona Entity_p = Context_g.tb_persona.Where(q => q.IdPersona == info.IdPersona).FirstOrDefault();
                info.info_persona = new Info.General.tb_persona_Info
                {
                    IdPersona         = Entity_p.IdPersona,
                    pe_apellido       = Entity_p.pe_apellido,
                    pe_nombre         = Entity_p.pe_nombre,
                    pe_cedulaRuc      = Entity_p.pe_cedulaRuc,
                    pe_nombreCompleto = Entity_p.pe_nombreCompleto,
                    pe_razonSocial    = Entity_p.pe_razonSocial,
                    pe_Naturaleza     = Entity_p.pe_Naturaleza,
                    IdTipoDocumento   = Entity_p.IdTipoDocumento
                };

                Context_f.Dispose();
                Context_g.Dispose();
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #3
0
 public List <fa_notaCreDeb_det_Info> get_list(int IdEmpresa, int IdSucursal, int IdBodega, decimal IdCbteVta, string CodDocumento)
 {
     try
     {
         List <fa_notaCreDeb_det_Info> Lista;
         using (Entities_facturacion Context = new Entities_facturacion())
         {
             if (CodDocumento == "FACT")
             {
                 Lista = (from q in Context.vwfa_factura_det
                          where q.IdEmpresa == IdEmpresa &&
                          q.IdSucursal == IdSucursal &&
                          q.IdBodega == IdBodega &&
                          q.IdCbteVta == IdCbteVta
                          select new fa_notaCreDeb_det_Info
                 {
                     IdProducto = q.IdProducto,
                     sc_cantidad = q.vt_cantidad,
                     sc_descUni = q.vt_DescUnitario,
                     sc_precioFinal = q.vt_PrecioFinal,
                     sc_Precio = q.vt_Precio,
                     sc_subtotal = q.vt_Subtotal,
                     sc_observacion = q.vt_detallexItems,
                     sc_estado = q.vt_estado,
                     sc_iva = q.vt_iva,
                     sc_PordescUni = q.vt_PorDescUnitario,
                     vt_por_iva = q.vt_por_iva,
                     sc_total = q.vt_total,
                     IdCentroCosto = q.IdCentroCosto,
                     IdCentroCosto_sub_centro_costo = q.IdCentroCosto_sub_centro_costo,
                     IdCod_Impuesto_Ice = q.IdCod_Impuesto_Ice,
                     IdCod_Impuesto_Iva = q.IdCod_Impuesto_Iva,
                     IdPunto_Cargo = q.IdPunto_Cargo,
                     IdPunto_cargo_grupo = q.IdPunto_cargo_grupo,
                     Secuencia = q.Secuencia,
                     pr_descripcion = q.pr_descripcion,
                     nom_presentacion = q.nom_presentacion,
                     lote_num_lote = q.lote_num_lote,
                     lote_fecha_vcto = q.lote_fecha_vcto,
                     sc_cantidad_factura = q.vt_cantidad
                 }).ToList();
             }
             else
             {
                 Lista = (from q in Context.vwfa_notaCreDeb_det
                          where q.IdEmpresa == IdEmpresa &&
                          q.IdSucursal == IdSucursal &&
                          q.IdBodega == IdBodega &&
                          q.IdNota == IdCbteVta
                          select new fa_notaCreDeb_det_Info
                 {
                     IdProducto = q.IdProducto,
                     sc_cantidad = q.sc_cantidad,
                     sc_descUni = q.sc_descUni,
                     sc_precioFinal = q.sc_precioFinal,
                     sc_Precio = q.sc_Precio,
                     sc_subtotal = q.sc_subtotal,
                     sc_observacion = q.sc_observacion,
                     sc_estado = q.sc_estado,
                     sc_iva = q.sc_iva,
                     sc_PordescUni = q.sc_PordescUni,
                     vt_por_iva = q.vt_por_iva,
                     sc_total = q.sc_total,
                     IdCentroCosto = q.IdCentroCosto,
                     IdCentroCosto_sub_centro_costo = q.IdCentroCosto_sub_centro_costo,
                     IdCod_Impuesto_Ice = q.IdCod_Impuesto_Ice,
                     IdCod_Impuesto_Iva = q.IdCod_Impuesto_Iva,
                     IdPunto_Cargo = q.IdPunto_Cargo,
                     IdPunto_cargo_grupo = q.IdPunto_cargo_grupo,
                     Secuencia = q.Secuencia,
                     pr_descripcion = q.pr_descripcion,
                     nom_presentacion = q.nom_presentacion,
                     lote_num_lote = q.lote_num_lote,
                     lote_fecha_vcto = q.lote_fecha_vcto,
                     sc_cantidad_factura = q.sc_cantidad_factura
                 }).ToList();
             }
         }
         Lista.ForEach(V =>
         {
             V.pr_descripcion = V.pr_descripcion + " " + V.nom_presentacion + " - " + V.lote_num_lote + " - " + (V.lote_fecha_vcto != null ? Convert.ToDateTime(V.lote_fecha_vcto).ToString("dd/MM/yyyy") : "");
         });
         return(Lista);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #4
0
 public bool modificarDB(fa_guia_remision_Info info)
 {
     try
     {
         int secuencia = 1;
         using (Entities_facturacion Context = new Entities_facturacion())
         {
             fa_guia_remision Entity = Context.fa_guia_remision.FirstOrDefault(q => q.IdGuiaRemision == info.IdGuiaRemision);
             if (Entity == null)
             {
                 return(false);
             }
             Entity.CodGuiaRemision        = info.CodGuiaRemision;
             Entity.CodDocumentoTipo       = info.CodDocumentoTipo;
             Entity.Serie1                 = info.Serie1;
             Entity.Serie2                 = info.Serie2;
             Entity.NumGuia_Preimpresa     = info.NumGuia_Preimpresa;
             Entity.NUAutorizacion         = info.NUAutorizacion;
             Entity.Fecha_Autorizacion     = info.Fecha_Autorizacion;
             Entity.IdCliente              = info.IdCliente;
             Entity.IdTransportista        = info.IdTransportista;
             Entity.gi_fecha               = info.gi_fecha.Date;
             Entity.gi_plazo               = info.gi_plazo;
             Entity.gi_fech_venc           = info.gi_fech_venc;
             Entity.Impreso                = info.Impreso;
             Entity.gi_FechaInicioTraslado = info.gi_FechaInicioTraslado.Date;
             Entity.gi_FechaFinTraslado    = info.gi_FechaFinTraslado.Date;
             Entity.placa               = info.placa;
             Entity.ruta                = info.ruta;
             Entity.Direccion_Destino   = info.Direccion_Destino;
             Entity.Direccion_Origen    = info.Direccion_Origen;
             Entity.IdCatalogo_traslado = info.IdCatalogo_traslado;
             Entity.Fecha_UltMod        = info.Fecha_UltMod = DateTime.Now;
             Entity.IdUsuarioUltMod     = info.IdUsuarioUltMod;
             Entity.gi_Observacion      = info.gi_Observacion;
             foreach (var item in info.lst_detalle)
             {
                 Context.fa_guia_remision_det.Add(new fa_guia_remision_det
                 {
                     IdEmpresa        = info.IdEmpresa,
                     IdSucursal       = info.IdSucursal,
                     IdBodega         = info.IdBodega,
                     IdGuiaRemision   = info.IdGuiaRemision,
                     Secuencia        = secuencia,
                     IdProducto       = item.IdProducto,
                     gi_cantidad      = item.gi_cantidad,
                     gi_detallexItems = item.gi_detallexItems
                 });
                 Context.fa_guia_remision_det_x_factura.Add(new fa_guia_remision_det_x_factura
                 {
                     IdEmpresa_fact      = info.IdEmpresa,
                     IdSucursal_fact     = info.IdSucursal,
                     IdBodega_fact       = info.IdBodega,
                     IdCbteVta_fact      = Convert.ToDecimal(item.IdCbteVta),
                     IdGuiaRemision_guia = info.IdGuiaRemision,
                     Secuencia_fact      = Convert.ToInt32(item.Secuencia_fact),
                     Secuencia_guia      = secuencia,
                     IdBodega_guia       = info.IdBodega,
                     IdSucursal_guia     = info.IdSucursal,
                     IdEmpresa_guia      = info.IdEmpresa
                 });
                 secuencia++;
             }
             foreach (var item in info.lst_detalle_x_factura)
             {
                 Context.fa_factura_x_fa_guia_remision.Add(new fa_factura_x_fa_guia_remision
                 {
                     fa_IdEmpresa      = info.IdEmpresa,
                     fa_IdSucursal     = info.IdSucursal,
                     fa_IdBodega       = info.IdBodega,
                     fa_IdCbteVta      = item.IdCbteVta,
                     gi_IdEmpresa      = info.IdEmpresa,
                     gi_IdSucursal     = info.IdSucursal,
                     gi_IdBodega       = info.IdBodega,
                     gi_IdGuiaRemision = info.IdGuiaRemision
                 });
             }
             Context.SaveChanges();
         }
         return(true);
     }
     catch (Exception e)
     {
         throw;
     }
 }
コード例 #5
0
        public bool modificarDB(fa_guia_remision_Info info)
        {
            try
            {
                int secuencia = 1;
                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    fa_guia_remision Entity = Context.fa_guia_remision.FirstOrDefault(q => q.IdGuiaRemision == info.IdGuiaRemision);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.CodGuiaRemision        = info.CodGuiaRemision;
                    Entity.CodDocumentoTipo       = info.CodDocumentoTipo;
                    Entity.NUAutorizacion         = info.NUAutorizacion;
                    Entity.Fecha_Autorizacion     = info.Fecha_Autorizacion;
                    Entity.IdCliente              = info.IdCliente;
                    Entity.IdTransportista        = info.IdTransportista;
                    Entity.gi_fecha               = info.gi_fecha.Date;
                    Entity.gi_plazo               = info.gi_plazo;
                    Entity.gi_fech_venc           = info.gi_fech_venc;
                    Entity.gi_FechaInicioTraslado = info.gi_FechaInicioTraslado.Date;
                    Entity.gi_FechaFinTraslado    = info.gi_FechaFinTraslado.Date;
                    Entity.placa                 = info.placa;
                    Entity.Direccion_Destino     = info.Direccion_Destino;
                    Entity.Direccion_Origen      = info.Direccion_Origen;
                    Entity.IdMotivoTraslado      = info.IdMotivoTraslado;
                    Entity.FechaModificacion     = info.FechaModificacion = DateTime.Now;
                    Entity.IdUsuarioModificacion = info.IdUsuarioModificacion;
                    Entity.gi_Observacion        = info.gi_Observacion;

                    foreach (var item in info.lst_detalle)
                    {
                        Context.fa_guia_remision_det.Add(new fa_guia_remision_det
                        {
                            IdEmpresa        = info.IdEmpresa,
                            IdSucursal       = info.IdSucursal,
                            IdBodega         = info.IdBodega,
                            IdGuiaRemision   = info.IdGuiaRemision,
                            Secuencia        = secuencia,
                            IdProducto       = item.IdProducto,
                            gi_cantidad      = item.gi_cantidad,
                            gi_detallexItems = item.gi_detallexItems,
                            gi_precio        = item.gi_precio,
                            gi_por_desc      = item.gi_por_desc,
                            gi_descuentoUni  = item.gi_descuentoUni,
                            gi_PrecioFinal   = item.gi_PrecioFinal,
                            gi_Subtotal      = item.gi_Subtotal,
                            IdCod_Impuesto   = item.IdCod_Impuesto,
                            gi_por_iva       = item.gi_por_iva,
                            gi_Iva           = item.gi_Iva,
                            gi_Total         = item.gi_Total
                        });

                        if (item.IdCbteVta != null && item.IdCbteVta != 0)
                        {
                            Context.fa_guia_remision_det_x_factura.Add(new fa_guia_remision_det_x_factura
                            {
                                IdEmpresa_fact      = info.IdEmpresa,
                                IdSucursal_fact     = info.IdSucursal,
                                IdBodega_fact       = info.IdBodega,
                                IdCbteVta_fact      = Convert.ToDecimal(item.IdCbteVta),
                                IdGuiaRemision_guia = info.IdGuiaRemision,
                                Secuencia_fact      = Convert.ToInt32(item.Secuencia_fact),
                                Secuencia_guia      = secuencia,
                                IdBodega_guia       = info.IdBodega,
                                IdSucursal_guia     = info.IdSucursal,
                                IdEmpresa_guia      = info.IdEmpresa
                            });
                        }
                        secuencia++;
                    }
                    foreach (var item in info.lst_detalle_x_factura)
                    {
                        if (item.IdCbteVta != 0)
                        {
                            Context.fa_factura_x_fa_guia_remision.Add(new fa_factura_x_fa_guia_remision
                            {
                                fa_IdEmpresa      = info.IdEmpresa,
                                fa_IdSucursal     = info.IdSucursal,
                                fa_IdBodega       = info.IdBodega,
                                fa_IdCbteVta      = item.IdCbteVta,
                                gi_IdEmpresa      = info.IdEmpresa,
                                gi_IdSucursal     = info.IdSucursal,
                                gi_IdBodega       = info.IdBodega,
                                gi_IdGuiaRemision = info.IdGuiaRemision
                            });
                        }
                    }

                    Context.SaveChanges();
                }
                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 = "fa_guia_remision_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuarioCreacion
                });
                return(false);
            }
        }
コード例 #6
0
        public bool modificarDB(fa_guia_remision_Info info)
        {
            try
            {
                fa_TerminoPago_Info termino_pago = new fa_TerminoPago_Info();
                fa_PuntoVta_Info    punto_venta  = new fa_PuntoVta_Info();
                termino_pago = data_tpago.get_info(info.vt_tipo_venta);
                punto_venta  = data_puntovta.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta_Fact);
                int secuencia = 1;

                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    fa_guia_remision Entity = Context.fa_guia_remision.FirstOrDefault(q => q.IdGuiaRemision == info.IdGuiaRemision);
                    if (Entity == null)
                    {
                        return(false);
                    }
                    Entity.CodGuiaRemision        = info.CodGuiaRemision;
                    Entity.CodDocumentoTipo       = info.CodDocumentoTipo;
                    Entity.NUAutorizacion         = info.NUAutorizacion;
                    Entity.Fecha_Autorizacion     = info.Fecha_Autorizacion;
                    Entity.IdCliente              = info.IdCliente;
                    Entity.IdTransportista        = info.IdTransportista;
                    Entity.gi_fecha               = info.gi_fecha.Date;
                    Entity.gi_plazo               = info.gi_plazo;
                    Entity.gi_fech_venc           = info.gi_fech_venc;
                    Entity.gi_FechaInicioTraslado = info.gi_FechaInicioTraslado.Date;
                    Entity.gi_FechaFinTraslado    = info.gi_FechaFinTraslado.Date;
                    Entity.placa                 = info.placa;
                    Entity.Direccion_Destino     = info.Direccion_Destino;
                    Entity.Direccion_Origen      = info.Direccion_Origen;
                    Entity.IdMotivoTraslado      = info.IdMotivoTraslado;
                    Entity.FechaModificacion     = info.FechaModificacion = DateTime.Now;
                    Entity.IdUsuarioModificacion = info.IdUsuarioModificacion;
                    Entity.gi_Observacion        = info.gi_Observacion;
                    Entity.IdCbteVta             = info.IdCbteVta;
                    Entity.IdContacto            = (info.IdContacto == 0 ? null : info.IdContacto);

                    foreach (var item in info.lst_detalle)
                    {
                        Context.fa_guia_remision_det.Add(new fa_guia_remision_det
                        {
                            IdEmpresa        = info.IdEmpresa,
                            IdSucursal       = info.IdSucursal,
                            IdBodega         = info.IdBodega,
                            IdGuiaRemision   = info.IdGuiaRemision,
                            Secuencia        = secuencia,
                            IdProducto       = item.IdProducto,
                            gi_cantidad      = item.gi_cantidad,
                            gi_detallexItems = item.gi_detallexItems,
                            gi_precio        = item.gi_precio,
                            gi_por_desc      = item.gi_por_desc,
                            gi_descuentoUni  = item.gi_descuentoUni,
                            gi_PrecioFinal   = item.gi_PrecioFinal,
                            gi_Subtotal      = item.gi_Subtotal,
                            IdCod_Impuesto   = item.IdCod_Impuesto,
                            gi_por_iva       = item.gi_por_iva,
                            gi_Iva           = item.gi_Iva,
                            gi_Total         = item.gi_Total,
                            IdCentroCosto    = item.IdCentroCosto,
                            IdEmpresa_pf     = item.IdEmpresa_pf,
                            IdSucursal_pf    = item.IdSucursal_pf,
                            IdProforma       = item.IdProforma,
                            Secuencia_pf     = item.Secuencia_pf
                        });

                        if (item.IdCbteVta != null && item.IdCbteVta != 0)
                        {
                            Context.fa_guia_remision_det_x_factura.Add(new fa_guia_remision_det_x_factura
                            {
                                IdEmpresa_fact      = info.IdEmpresa,
                                IdSucursal_fact     = info.IdSucursal,
                                IdBodega_fact       = info.IdBodega,
                                IdCbteVta_fact      = Convert.ToDecimal(item.IdCbteVta),
                                IdGuiaRemision_guia = info.IdGuiaRemision,
                                Secuencia_fact      = Convert.ToInt32(item.Secuencia_fact),
                                Secuencia_guia      = secuencia,
                                IdBodega_guia       = info.IdBodega,
                                IdSucursal_guia     = info.IdSucursal,
                                IdEmpresa_guia      = info.IdEmpresa
                            });
                        }
                        secuencia++;
                    }
                    foreach (var item in info.lst_detalle_x_factura)
                    {
                        if (item.IdCbteVta != 0)
                        {
                            Context.fa_factura_x_fa_guia_remision.Add(new fa_factura_x_fa_guia_remision
                            {
                                fa_IdEmpresa      = info.IdEmpresa,
                                fa_IdSucursal     = info.IdSucursal,
                                fa_IdBodega       = info.IdBodega,
                                fa_IdCbteVta      = item.IdCbteVta,
                                gi_IdEmpresa      = info.IdEmpresa,
                                gi_IdSucursal     = info.IdSucursal,
                                gi_IdBodega       = info.IdBodega,
                                gi_IdGuiaRemision = info.IdGuiaRemision
                            });
                        }
                    }

                    #region Factura
                    if (info.GenerarFactura == true && (info.IdCbteVta == null || info.IdCbteVta == 0))
                    {
                        fa_factura_Info info_fact = new fa_factura_Info();
                        info_fact.lst_det   = new List <fa_factura_det_Info>();
                        info_fact.lst_cuota = new List <fa_cuotas_x_doc_Info>();
                        int secuencia_fact = 1;

                        if (termino_pago != null && termino_pago.IdTerminoPago != "")
                        {
                            info.vt_fech_venc = info.gi_fecha.AddDays(termino_pago.Dias_Vct);
                        }

                        if (punto_venta != null && punto_venta.IdPuntoVta != 0)
                        {
                            info.IdCaja = punto_venta.IdCaja;
                        }

                        info_fact.IdEmpresa            = info_fact.IdEmpresa = info.IdEmpresa;
                        info_fact.IdSucursal           = info_fact.IdSucursal = info.IdSucursal;
                        info_fact.IdBodega             = info_fact.IdBodega = info.IdBodega;
                        info_fact.vt_tipoDoc           = cl_enumeradores.eTipoDocumento.FACT.ToString();
                        info_fact.vt_serie1            = info.vt_serie1;
                        info_fact.vt_serie2            = info.vt_serie2;
                        info_fact.vt_NumFactura        = info.vt_NumFactura;
                        info_fact.Fecha_Autorizacion   = DateTime.Now;
                        info_fact.vt_autorizacion      = null;
                        info_fact.vt_fecha             = info.gi_fecha.Date;
                        info_fact.vt_fech_venc         = info.vt_fech_venc; /*depende de la termino de pago*/
                        info_fact.IdCliente            = info.IdCliente;
                        info_fact.IdContacto           = info.IdContacto;
                        info_fact.IdVendedor           = info.IdVendedor;
                        info_fact.vt_plazo             = termino_pago.Dias_Vct; /**depende de la termino de pago*/
                        info_fact.vt_Observacion       = string.IsNullOrEmpty(info.ObservacionFactura) ? "" : info.ObservacionFactura;
                        info_fact.IdCatalogo_FormaPago = info.IdCatalogo_FormaPago;
                        info_fact.vt_tipo_venta        = info.vt_tipo_venta;
                        info_fact.IdCaja              = info.IdCaja; /*depende del punto de venta*/
                        info_fact.IdPuntoVta          = info.IdPuntoVta_Fact;
                        info_fact.fecha_primera_cuota = null;
                        info_fact.Fecha_Transaccion   = DateTime.Now;
                        info_fact.Estado              = info.Estado == true ? "A" : "I";
                        info_fact.esta_impresa        = null;
                        info_fact.valor_abono         = null;
                        info_fact.IdUsuario           = info.IdUsuarioCreacion;
                        info_fact.IdNivel             = 1;
                        info_fact.CodCbteVta          = info.CodGuiaRemision;

                        foreach (var item in info.lst_detalle)
                        {
                            fa_factura_det_Info info_fact_detalle = new fa_factura_det_Info
                            {
                                IdEmpresa  = info_fact.IdEmpresa,
                                IdSucursal = info_fact.IdSucursal,
                                IdBodega   = info_fact.IdBodega,
                                Secuencia  = secuencia_fact++,

                                IdProducto         = item.IdProducto,
                                vt_cantidad        = item.gi_cantidad,
                                vt_Precio          = item.gi_precio,
                                vt_PorDescUnitario = item.gi_por_desc,
                                vt_DescUnitario    = item.gi_descuentoUni,
                                vt_PrecioFinal     = item.gi_PrecioFinal,
                                vt_Subtotal        = item.gi_Subtotal,
                                vt_por_iva         = item.gi_por_iva,
                                IdCod_Impuesto_Iva = item.IdCod_Impuesto,
                                vt_iva             = item.gi_Iva,
                                vt_total           = item.gi_Total,
                                vt_detallexItems   = item.gi_detallexItems,

                                IdEmpresa_pf  = item.IdEmpresa_pf,
                                IdSucursal_pf = item.IdSucursal_pf,
                                IdProforma    = item.IdProforma,
                                Secuencia_pf  = item.Secuencia_pf,

                                IdCentroCosto       = item.IdCentroCosto,
                                IdPunto_Cargo       = item.IdPunto_cargo,
                                IdPunto_cargo_grupo = item.IdPunto_cargo_grupo,
                            };
                            info_fact.lst_det.Add(info_fact_detalle);
                        }

                        var SubtotalConDscto       = (decimal)Math.Round(info.lst_detalle.Sum(q => q.gi_Subtotal), 2, MidpointRounding.AwayFromZero);
                        var SubtotalIVASinDscto    = (decimal)Math.Round(info_fact.lst_det.Where(q => q.vt_por_iva != 0).Sum(q => q.vt_cantidad * q.vt_Precio), 2, MidpointRounding.AwayFromZero);
                        var SubtotalSinIVASinDscto = (decimal)Math.Round(info_fact.lst_det.Where(q => q.vt_por_iva == 0).Sum(q => q.vt_cantidad * q.vt_Precio), 2, MidpointRounding.AwayFromZero);
                        var Descuento              = (decimal)Math.Round(info_fact.lst_det.Sum(q => q.vt_DescUnitario * q.vt_cantidad), 2, MidpointRounding.AwayFromZero);
                        var SubtotalIVAConDscto    = (decimal)Math.Round(info_fact.lst_det.Where(q => q.vt_por_iva != 0).Sum(q => q.vt_Subtotal), 2, MidpointRounding.AwayFromZero);
                        var SubtotalSinIVAConDscto = (decimal)Math.Round(info_fact.lst_det.Where(q => q.vt_por_iva == 0).Sum(q => q.vt_Subtotal), 2, MidpointRounding.AwayFromZero);
                        var ValorIVA         = (decimal)Math.Round(info_fact.lst_det.Sum(q => q.vt_iva), 2, MidpointRounding.AwayFromZero);
                        var SubtotalSinDscto = SubtotalIVASinDscto + SubtotalSinIVASinDscto;
                        var Total            = SubtotalConDscto + ValorIVA;

                        info_fact.info_resumen = new fa_factura_resumen_Info
                        {
                            IdEmpresa  = info_fact.IdEmpresa,
                            IdSucursal = info_fact.IdSucursal,
                            IdBodega   = info_fact.IdBodega,
                            // IdCbteVta = info_fact.IdCbteVta,

                            SubtotalConDscto       = SubtotalConDscto,
                            SubtotalIVAConDscto    = SubtotalIVAConDscto,
                            SubtotalIVASinDscto    = SubtotalIVASinDscto,
                            SubtotalSinDscto       = SubtotalSinDscto,
                            SubtotalSinIVAConDscto = SubtotalSinIVAConDscto,
                            SubtotalSinIVASinDscto = SubtotalSinIVASinDscto,

                            Total         = Total,
                            Descuento     = Descuento,
                            ValorEfectivo = 0,
                            ValorIVA      = ValorIVA,
                            Cambio        = Total,
                        };
                        data_fact.guardarDB(info_fact);
                        Entity.IdCbteVta = info_fact.IdCbteVta;

                        #region Relacion Guia
                        Context.fa_factura_x_fa_guia_remision.Add(new fa_factura_x_fa_guia_remision
                        {
                            fa_IdEmpresa      = info.IdEmpresa,
                            fa_IdSucursal     = info.IdSucursal,
                            fa_IdBodega       = info.IdBodega,
                            fa_IdCbteVta      = info_fact.IdCbteVta,
                            gi_IdEmpresa      = info.IdEmpresa,
                            gi_IdSucursal     = info.IdSucursal,
                            gi_IdBodega       = info.IdBodega,
                            gi_IdGuiaRemision = info.IdGuiaRemision
                        });
                        secuencia = 1;
                        foreach (var item in info.lst_detalle)
                        {
                            Context.fa_guia_remision_det_x_factura.Add(new fa_guia_remision_det_x_factura
                            {
                                IdEmpresa_fact  = info.IdEmpresa,
                                IdSucursal_fact = info.IdSucursal,
                                IdBodega_fact   = info.IdBodega,
                                IdCbteVta_fact  = info_fact.IdCbteVta,
                                Secuencia_fact  = secuencia,

                                IdEmpresa_guia      = info.IdEmpresa,
                                IdSucursal_guia     = info.IdSucursal,
                                IdBodega_guia       = info.IdBodega,
                                IdGuiaRemision_guia = info.IdGuiaRemision,
                                Secuencia_guia      = secuencia++,
                            });
                        }
                        #endregion
                    }
                    #endregion

                    Context.SaveChanges();
                }
                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 = "fa_guia_remision_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuarioCreacion
                });
                return(false);
            }
        }
コード例 #7
0
        public List <tb_persona_Info> get_list(int IdEmpresa, string IdTipo_persona, int skip, int take, string filter)
        {
            try
            {
                List <tb_persona_Info> Lista = new List <tb_persona_Info>();

                Entities_general context_g = new Entities_general();
                switch (IdTipo_persona)
                {
                case "PERSONA":
                    var lstg = context_g.tb_persona.Where(q => q.pe_estado == "A" && (q.IdPersona.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdPersona).Skip(skip).Take(take);
                    foreach (var q in lstg)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdPersona
                        });
                    }
                    break;

                case "CLIENTE":
                    Entities_facturacion context_f = new Entities_facturacion();
                    var lstf = context_f.vwfa_cliente_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.Estado == "A" && (q.IdCliente.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdCliente).Skip(skip).Take(take);
                    foreach (var q in lstf)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdCliente,
                            CodPersona        = q.Descripcion_tip_cliente
                        });
                    }
                    context_f.Dispose();
                    break;

                case "EMPLEA":
                    Entities_rrhh context_e = new Entities_rrhh();
                    var           lstr      = context_e.vwro_empleados_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.em_estado == "A" && (q.IdEmpleado.ToString() + " " + q.pe_cedulaRuc + " " + q.Empleado).Contains(filter)).OrderBy(q => q.IdEmpleado).Skip(skip).Take(take);
                    foreach (var q in lstr)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.Empleado,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdEmpleado
                        });
                    }
                    context_e.Dispose();
                    break;

                case "PROVEE":
                    Entities_cuentas_por_pagar context_p = new Entities_cuentas_por_pagar();
                    var lstp = context_p.vwcp_proveedor_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.pr_estado == "A" && (q.IdProveedor.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdProveedor).Skip(skip).Take(take);
                    foreach (var q in lstp)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdProveedor
                        });
                    }
                    context_p.Dispose();
                    break;
                }

                context_g.Dispose();
                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #8
0
        private void GenerarDevoluciones(fa_CambioProducto_Info info)
        {
            Entities_facturacion dbf = new Entities_facturacion();

            try
            {
                var ListaDetalleCambio = dbf.vwfa_CambioProductoDet_FacturasConMovimiento.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdCambio == info.IdCambio).ToList();
                if (ListaDetalleCambio.Where(q => q.IdNumMovi_eg == null).Count() > 0)
                {
                    return;
                }

                in_devolucion_inven_Data odata_d = new in_devolucion_inven_Data();

                var DevolucionesAgrupadas = ListaDetalleCambio.GroupBy(q => new { q.IdEmpresa_eg, q.IdSucursal_eg, q.IdMovi_inven_tipo_eg, q.IdNumMovi_eg }).ToList();
                foreach (var item in DevolucionesAgrupadas)
                {
                    var ListaPorMovimiento = ListaDetalleCambio.Where(q => q.IdEmpresa_eg == item.Key.IdEmpresa_eg && q.IdSucursal_eg == item.Key.IdSucursal_eg && q.IdMovi_inven_tipo_eg == item.Key.IdMovi_inven_tipo_eg && q.IdNumMovi_eg == item.Key.IdNumMovi_eg).ToList();
                    in_devolucion_inven_Info devolucion = new in_devolucion_inven_Info
                    {
                        IdEmpresa             = info.IdEmpresa,
                        IdEmpresa_inv         = (int)item.Key.IdEmpresa_eg,
                        IdSucursal_inv        = (int)item.Key.IdSucursal_eg,
                        IdMovi_inven_tipo_inv = (int)item.Key.IdMovi_inven_tipo_eg,
                        IdNumMovi_inv         = (decimal)item.Key.IdNumMovi_eg,
                        cod_Dev_Inven         = "CAMB#" + info.IdCambio,
                        Estado      = true,
                        dev_signo   = "+",
                        Fecha       = info.Fecha.Date,
                        IdUsuario   = info.IdUsuario,
                        observacion = "CAMB#" + info.IdCambio + " " + info.Observacion,

                        lst_det = new List <in_devolucion_inven_det_Info>()
                    };
                    foreach (var Det in ListaPorMovimiento)
                    {
                        devolucion.lst_det.Add(new in_devolucion_inven_det_Info
                        {
                            IdEmpresa             = info.IdEmpresa,
                            inv_IdEmpresa         = (int)Det.IdEmpresa_eg,
                            inv_IdSucursal        = (int)Det.IdSucursal_eg,
                            inv_IdMovi_inven_tipo = (int)Det.IdMovi_inven_tipo_eg,
                            inv_IdNumMovi         = (int)Det.IdNumMovi_eg,
                            inv_Secuencia         = (int)Det.Secuencia_eg,

                            IdProducto     = (decimal)Det.IdProducto,
                            IdBodega       = (int)Det.IdBodega_eg,
                            cant_devuelta  = Det.CantidadCambio,
                            IdUnidadMedida = Det.IdUnidadMedida_sinConversion,
                            mv_costo       = Det.Costo
                        });
                    }

                    if (odata_d.guardarDB(devolucion))
                    {
                        ListaDetalleCambio.ForEach(q => dbf.fa_CambioProductoDet_x_in_devolucion_inven.Add(new fa_CambioProductoDet_x_in_devolucion_inven
                        {
                            IdEmpresa_ca  = info.IdEmpresa,
                            IdSucursal_ca = info.IdSucursal,
                            IdBodega_ca   = info.IdBodega,
                            IdCambio      = info.IdCambio,
                            Secuencia_ca  = q.Secuencia_ca,

                            IdEmpresa_de = devolucion.IdEmpresa,
                            IdDev_Inven  = devolucion.IdDev_Inven
                        }));
                        dbf.SaveChanges();
                    }
                }

                dbf.Dispose();
            }
            catch (Exception)
            {
                dbf.Dispose();
                throw;
            }
        }
コード例 #9
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;
            }
        }
コード例 #10
0
        public bool modificarDB(fa_notaCreDeb_Info info)
        {
            try
            {
                #region Variables
                int Secuencia               = 1;
                ct_cbtecble_Data odata_ct   = new ct_cbtecble_Data();
                cxc_cobro_Data   odata_cobr = new cxc_cobro_Data();
                #endregion

                using (Entities_facturacion db_f = new Entities_facturacion())
                {
                    #region Nota de debito credito

                    #region Cabecera
                    var entity = db_f.fa_notaCreDeb.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdNota == info.IdNota).FirstOrDefault();
                    if (entity == null)
                    {
                        return(false);
                    }

                    entity.IdPuntoVta = info.IdPuntoVta;
                    //entity.CodNota = info.CodNota;
                    entity.CreDeb             = info.CreDeb.Trim();
                    entity.CodDocumentoTipo   = info.CodDocumentoTipo;
                    entity.Serie1             = info.Serie1;
                    entity.Serie2             = info.Serie2;
                    entity.NumNota_Impresa    = info.NumNota_Impresa;
                    entity.NumAutorizacion    = info.NumAutorizacion;
                    entity.Fecha_Autorizacion = info.Fecha_Autorizacion;
                    entity.IdCliente          = info.IdCliente;
                    entity.IdContacto         = info.IdContacto;
                    entity.no_fecha           = info.no_fecha.Date;
                    entity.no_fecha_venc      = info.no_fecha_venc.Date;
                    entity.IdTipoNota         = info.IdTipoNota;
                    entity.sc_observacion     = info.sc_observacion;
                    entity.NaturalezaNota     = info.NaturalezaNota;
                    entity.IdCtaCble_TipoNota = info.IdCtaCble_TipoNota;
                    entity.IdUsuarioUltMod    = info.IdUsuarioUltMod;
                    entity.Fecha_UltMod       = DateTime.Now;

                    #endregion

                    #region Detalle
                    var lst = db_f.fa_notaCreDeb_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdNota == info.IdNota).ToList();
                    db_f.fa_notaCreDeb_det.RemoveRange(lst);

                    foreach (var item in info.lst_det)
                    {
                        db_f.fa_notaCreDeb_det.Add(new fa_notaCreDeb_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdSucursal          = info.IdSucursal,
                            IdBodega            = info.IdBodega,
                            IdNota              = info.IdNota,
                            Secuencia           = Secuencia++,
                            IdProducto          = item.IdProducto,
                            sc_cantidad         = item.sc_cantidad,
                            sc_cantidad_factura = item.sc_cantidad_factura,
                            sc_Precio           = item.sc_Precio,
                            sc_descUni          = item.sc_descUni,
                            sc_PordescUni       = item.sc_PordescUni,
                            sc_precioFinal      = item.sc_precioFinal,
                            vt_por_iva          = item.vt_por_iva,
                            sc_iva              = item.sc_iva,
                            IdCod_Impuesto_Iva  = item.IdCod_Impuesto_Iva,
                            sc_estado           = "A",
                            sc_subtotal         = item.sc_subtotal,
                            sc_total            = item.sc_total,

                            IdCentroCosto = item.IdCentroCosto,
                            IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo,
                            IdPunto_Cargo       = item.IdPunto_Cargo,
                            IdPunto_cargo_grupo = item.IdPunto_cargo_grupo
                        });
                    }
                    #endregion

                    #region Cruce
                    var lst_cruce = db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).ToList();
                    db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.RemoveRange(lst_cruce);
                    Secuencia = 1;
                    foreach (var item in info.lst_cruce)
                    {
                        db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Add(new fa_notaCreDeb_x_fa_factura_NotaDeb
                        {
                            IdEmpresa_nt              = info.IdEmpresa,
                            IdSucursal_nt             = info.IdSucursal,
                            IdBodega_nt               = info.IdBodega,
                            IdNota_nt                 = info.IdNota,
                            secuencia                 = Secuencia++,
                            IdEmpresa_fac_nd_doc_mod  = item.IdEmpresa_fac_nd_doc_mod,
                            IdSucursal_fac_nd_doc_mod = item.IdSucursal_fac_nd_doc_mod,
                            IdBodega_fac_nd_doc_mod   = item.IdBodega_fac_nd_doc_mod,
                            IdCbteVta_fac_nd_doc_mod  = item.IdCbteVta_fac_nd_doc_mod,
                            vt_tipoDoc                = item.vt_tipoDoc,
                            Valor_Aplicado            = item.Valor_Aplicado,
                            fecha_cruce               = DateTime.Now,
                        });
                    }
                    #endregion

                    db_f.SaveChanges();

                    #endregion

                    #region Parametros
                    var parametros = db_f.fa_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    var cliente    = db_f.fa_cliente.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault();
                    #endregion

                    #region Contabilidad
                    if (parametros != null && parametros.IdTipoCbteCble_NC != null && parametros.IdTipoCbteCble_ND != null)
                    {
                        var rel_conta           = db_f.fa_notaCreDeb_x_ct_cbtecble.Where(q => q.no_IdEmpresa == info.IdEmpresa && q.no_IdSucursal == info.IdSucursal && q.no_IdBodega == info.IdBodega && q.no_IdNota == info.IdNota).FirstOrDefault();
                        ct_cbtecble_Info diario = armar_diario(info, info.CreDeb.Trim() == "C" ? (int)parametros.IdTipoCbteCble_NC : (int)parametros.IdTipoCbteCble_ND, cliente.IdCtaCble_cxc_Credito, info.IdCtaCble_TipoNota);
                        if (diario != null)
                        {
                            if (rel_conta == null)
                            {
                                if (odata_ct.guardarDB(diario))
                                {
                                    db_f.fa_notaCreDeb_x_ct_cbtecble.Add(new fa_notaCreDeb_x_ct_cbtecble
                                    {
                                        no_IdEmpresa  = info.IdEmpresa,
                                        no_IdSucursal = info.IdSucursal,
                                        no_IdBodega   = info.IdBodega,
                                        no_IdNota     = info.IdNota,

                                        ct_IdEmpresa  = diario.IdEmpresa,
                                        ct_IdTipoCbte = diario.IdTipoCbte,
                                        ct_IdCbteCble = diario.IdCbteCble,

                                        observacion = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? ("-" + info.Serie1 + "-" + info.Serie2 + "-" + info.NumNota_Impresa) : info.IdNota.ToString("000000000"))
                                    });
                                    db_f.SaveChanges();
                                }
                            }
                            else
                            {
                                diario.IdCbteCble = rel_conta.ct_IdCbteCble;
                                odata_ct.modificarDB(diario);
                            }
                        }
                    }
                    #endregion

                    #region Cobranza
                    if (info.CreDeb.Trim() == "C" && info.lst_cruce.Count != 0)
                    {
                        cxc_cobro_Info cobro = armar_cobro(info);
                        if (cobro != null)
                        {
                            var rel_cobr = db_f.fa_notaCreDeb_x_cxc_cobro.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).FirstOrDefault();
                            if (rel_cobr == null)
                            {
                                if (odata_cobr.guardarDB(cobro))
                                {
                                    db_f.fa_notaCreDeb_x_cxc_cobro.Add(new fa_notaCreDeb_x_cxc_cobro
                                    {
                                        IdEmpresa_nt   = info.IdEmpresa,
                                        IdSucursal_nt  = info.IdSucursal,
                                        IdBodega_nt    = info.IdBodega,
                                        IdNota_nt      = info.IdNota,
                                        IdEmpresa_cbr  = cobro.IdEmpresa,
                                        IdSucursal_cbr = cobro.IdSucursal,
                                        IdCobro_cbr    = cobro.IdCobro,
                                        Valor_cobro    = Math.Round(info.lst_cruce.Sum(q => q.Valor_Aplicado), 2, MidpointRounding.AwayFromZero)
                                    });
                                    db_f.SaveChanges();
                                }
                            }
                            else
                            {
                                cobro.IdCobro = rel_cobr.IdCobro_cbr;
                                odata_cobr.modificarDB(cobro);
                            }
                        }
                    }

                    #endregion
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #11
0
        public bool anularDB(fa_notaCreDeb_Info info)
        {
            try
            {
                #region Variables
                ct_cbtecble_Data odata_ct   = new ct_cbtecble_Data();
                cxc_cobro_Data   odata_cobr = new cxc_cobro_Data();
                #endregion

                using (Entities_facturacion db_f = new Entities_facturacion())
                {
                    #region Nota de debito credito

                    #region Cabecera
                    var entity = db_f.fa_notaCreDeb.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdNota == info.IdNota).FirstOrDefault();
                    if (entity == null)
                    {
                        return(false);
                    }

                    entity.Estado          = "I";
                    entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                    entity.Fecha_UltAnu    = DateTime.Now;
                    entity.MotiAnula       = info.MotiAnula;
                    #endregion

                    var lst_cruce = db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).ToList();
                    db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.RemoveRange(lst_cruce);
                    #endregion

                    #region Contabilidad
                    var rel_conta = db_f.fa_notaCreDeb_x_ct_cbtecble.Where(q => q.no_IdEmpresa == info.IdEmpresa && q.no_IdSucursal == info.IdSucursal && q.no_IdBodega == info.IdBodega && q.no_IdNota == info.IdNota).FirstOrDefault();
                    if (rel_conta != null)
                    {
                        if (!odata_ct.anularDB(new ct_cbtecble_Info {
                            IdEmpresa = rel_conta.ct_IdEmpresa, IdTipoCbte = rel_conta.ct_IdTipoCbte, IdCbteCble = rel_conta.ct_IdCbteCble, IdUsuarioAnu = info.IdUsuarioUltAnu
                        }))
                        {
                            entity.Estado          = "A";
                            entity.IdUsuarioUltAnu = null;
                            entity.Fecha_UltAnu    = null;
                            entity.MotiAnula       = null;
                        }
                    }


                    #endregion

                    #region Cobranza

                    var rel_cobr = db_f.fa_notaCreDeb_x_cxc_cobro.Where(q => q.IdEmpresa_nt == info.IdEmpresa && q.IdSucursal_nt == info.IdSucursal && q.IdBodega_nt == info.IdBodega && q.IdNota_nt == info.IdNota).FirstOrDefault();
                    if (rel_cobr != null)
                    {
                        if (!odata_cobr.anularDB(new cxc_cobro_Info {
                            IdEmpresa = rel_cobr.IdEmpresa_cbr, IdSucursal = rel_cobr.IdSucursal_cbr, IdCobro = rel_cobr.IdCobro_cbr, IdUsuarioUltAnu = info.IdUsuarioUltAnu
                        }))
                        {
                            entity.Estado          = "A";
                            entity.IdUsuarioUltAnu = null;
                            entity.Fecha_UltAnu    = null;
                            entity.MotiAnula       = null;
                        }
                    }
                    #endregion

                    db_f.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #12
0
 public List <fa_factura_det_Info> get_list(int IdEmpresa, int IdSucursal, int IdBodega, decimal IdCbteVta)
 {
     try
     {
         List <fa_factura_det_Info> Lista;
         using (Entities_facturacion Context = new Entities_facturacion())
         {
             Lista = (from q in Context.vwfa_factura_det
                      where q.IdEmpresa == IdEmpresa &&
                      q.IdSucursal == IdSucursal &&
                      q.IdBodega == IdBodega &&
                      q.IdCbteVta == IdCbteVta
                      select new fa_factura_det_Info
             {
                 IdEmpresa = q.IdEmpresa,
                 IdSucursal = q.IdSucursal,
                 IdBodega = q.IdBodega,
                 IdCbteVta = q.IdCbteVta,
                 IdProducto = q.IdProducto,
                 vt_cantidad = q.vt_cantidad,
                 vt_DescUnitario = q.vt_DescUnitario,
                 vt_PrecioFinal = q.vt_PrecioFinal,
                 vt_Precio = q.vt_Precio,
                 vt_Subtotal = q.vt_Subtotal,
                 vt_detallexItems = q.vt_detallexItems,
                 vt_estado = q.vt_estado,
                 vt_iva = q.vt_iva,
                 vt_PorDescUnitario = q.vt_PorDescUnitario,
                 vt_por_iva = q.vt_por_iva,
                 vt_total = q.vt_total,
                 IdCentroCosto = q.IdCentroCosto,
                 IdCentroCosto_sub_centro_costo = q.IdCentroCosto_sub_centro_costo,
                 IdCod_Impuesto_Ice = q.IdCod_Impuesto_Ice,
                 IdCod_Impuesto_Iva = q.IdCod_Impuesto_Iva,
                 IdEmpresa_pf = q.IdEmpresa_pf,
                 IdProforma = q.IdProforma,
                 IdPunto_Cargo = q.IdPunto_Cargo,
                 IdPunto_cargo_grupo = q.IdPunto_cargo_grupo,
                 IdSucursal_pf = q.IdSucursal_pf,
                 Secuencia = q.Secuencia,
                 Secuencia_pf = q.Secuencia_pf,
                 pr_descripcion = q.pr_descripcion,
                 nom_presentacion = q.nom_presentacion,
                 lote_num_lote = q.lote_num_lote,
                 lote_fecha_vcto = q.lote_fecha_vcto,
                 CantidadAnterior = q.vt_cantidad,
                 tp_manejaInven = q.tp_ManejaInven,
                 se_distribuye = q.se_distribuye
             }).ToList();
         }
         Lista.ForEach(V =>
         {
             V.pr_descripcion = V.pr_descripcion + " " + V.nom_presentacion + " - " + V.lote_num_lote + " - " + (V.lote_fecha_vcto != null ? Convert.ToDateTime(V.lote_fecha_vcto).ToString("dd/MM/yyyy") : "");
         });
         return(Lista);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #13
0
        public bool guardarDB(fa_notaCreDeb_Info info)
        {
            try
            {
                #region Variables
                int Secuencia               = 1;
                ct_cbtecble_Data odata_ct   = new ct_cbtecble_Data();
                cxc_cobro_Data   odata_cobr = new cxc_cobro_Data();
                #endregion

                using (Entities_facturacion db_f = new Entities_facturacion())
                {
                    #region Nota de debito credito

                    #region Cabecera
                    fa_notaCreDeb Entity = new fa_notaCreDeb
                                           //db_f.fa_notaCreDeb.Add(new fa_notaCreDeb
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdSucursal         = info.IdSucursal,
                        IdBodega           = info.IdBodega,
                        IdNota             = info.IdNota = get_id(info.IdEmpresa, info.IdSucursal, info.IdBodega),
                        IdPuntoVta         = info.IdPuntoVta,
                        CodNota            = info.CodNota,
                        CreDeb             = info.CreDeb.Trim(),
                        CodDocumentoTipo   = info.CodDocumentoTipo,
                        Serie1             = info.Serie1,
                        Serie2             = info.Serie2,
                        NumNota_Impresa    = info.NumNota_Impresa,
                        NumAutorizacion    = info.NumAutorizacion,
                        Fecha_Autorizacion = info.Fecha_Autorizacion,
                        IdCliente          = info.IdCliente,
                        no_fecha           = info.no_fecha.Date,
                        no_fecha_venc      = info.no_fecha_venc.Date,
                        IdTipoNota         = info.IdTipoNota,
                        sc_observacion     = info.sc_observacion,
                        Estado             = info.Estado = "A",
                        NaturalezaNota     = info.NaturalezaNota,
                        IdCtaCble_TipoNota = info.IdCtaCble_TipoNota,

                        IdUsuario = info.IdUsuario
                    };
                    #endregion

                    #region Detalle
                    foreach (var item in info.lst_det)
                    {
                        db_f.fa_notaCreDeb_det.Add(new fa_notaCreDeb_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdSucursal          = info.IdSucursal,
                            IdBodega            = info.IdBodega,
                            IdNota              = info.IdNota,
                            Secuencia           = Secuencia++,
                            IdProducto          = item.IdProducto,
                            sc_cantidad         = item.sc_cantidad,
                            sc_cantidad_factura = item.sc_cantidad_factura,
                            sc_Precio           = item.sc_Precio,
                            sc_descUni          = item.sc_descUni,
                            sc_PordescUni       = item.sc_PordescUni,
                            sc_precioFinal      = item.sc_precioFinal,
                            vt_por_iva          = item.vt_por_iva,
                            sc_iva              = item.sc_iva,
                            IdCod_Impuesto_Iva  = item.IdCod_Impuesto_Iva,
                            sc_subtotal         = item.sc_subtotal,
                            sc_total            = item.sc_total,
                            IdCentroCosto       = item.IdCentroCosto,
                            IdPunto_Cargo       = item.IdPunto_Cargo,
                            IdPunto_cargo_grupo = item.IdPunto_cargo_grupo
                        });
                    }
                    #endregion

                    #region Cruce
                    Secuencia = 1;
                    foreach (var item in info.lst_cruce)
                    {
                        db_f.fa_notaCreDeb_x_fa_factura_NotaDeb.Add(new fa_notaCreDeb_x_fa_factura_NotaDeb
                        {
                            IdEmpresa_nt              = info.IdEmpresa,
                            IdSucursal_nt             = info.IdSucursal,
                            IdBodega_nt               = info.IdBodega,
                            IdNota_nt                 = info.IdNota,
                            secuencia                 = Secuencia++,
                            IdEmpresa_fac_nd_doc_mod  = item.IdEmpresa_fac_nd_doc_mod,
                            IdSucursal_fac_nd_doc_mod = item.IdSucursal_fac_nd_doc_mod,
                            IdBodega_fac_nd_doc_mod   = item.IdBodega_fac_nd_doc_mod,
                            IdCbteVta_fac_nd_doc_mod  = item.IdCbteVta_fac_nd_doc_mod,
                            vt_tipoDoc                = item.vt_tipoDoc,
                            Valor_Aplicado            = item.Valor_Aplicado,
                            fecha_cruce               = DateTime.Now,
                        });
                    }
                    #endregion

                    #region Talonario
                    fa_PuntoVta_Data data_puntovta = new fa_PuntoVta_Data();
                    tb_sis_Documento_Tipo_Talonario_Data data_talonario = new tb_sis_Documento_Tipo_Talonario_Data();
                    fa_PuntoVta_Info info_puntovta = new fa_PuntoVta_Info();
                    tb_sis_Documento_Tipo_Talonario_Info ultimo_talonario = new tb_sis_Documento_Tipo_Talonario_Info();
                    tb_sis_Documento_Tipo_Talonario_Info info_talonario   = new tb_sis_Documento_Tipo_Talonario_Info();
                    info_puntovta = data_puntovta.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta);

                    if (info_puntovta != null && info.NaturalezaNota == "SRI")
                    {
                        if (info_puntovta.EsElectronico == true)
                        {
                            ultimo_talonario = data_talonario.GetUltimoNoUsado(info.IdEmpresa, info_puntovta.codDocumentoTipo, info_puntovta.Su_CodigoEstablecimiento, info_puntovta.cod_PuntoVta, info_puntovta.EsElectronico, true);

                            if (ultimo_talonario != null)
                            {
                                Entity.Serie1          = info.Serie1 = ultimo_talonario.Establecimiento;
                                Entity.Serie2          = info.Serie2 = ultimo_talonario.PuntoEmision;
                                Entity.NumNota_Impresa = info.NumNota_Impresa = ultimo_talonario.NumDocumento;
                            }
                        }
                        else
                        {
                            info_talonario.IdEmpresa        = info.IdEmpresa;
                            info_talonario.CodDocumentoTipo = info.CodDocumentoTipo;
                            info_talonario.Establecimiento  = info.Serie1;
                            info_talonario.PuntoEmision     = info.Serie2;
                            info_talonario.NumDocumento     = info.NumNota_Impresa;
                            info_talonario.IdSucursal       = info.IdSucursal;
                            info_talonario.Usado            = true;

                            data_talonario.modificar_estado_usadoDB(info_talonario);
                        }
                    }
                    else
                    {
                        Entity.Serie1          = null;
                        Entity.Serie2          = null;
                        Entity.NumNota_Impresa = null;
                    }
                    #endregion

                    db_f.fa_notaCreDeb.Add(Entity);
                    db_f.SaveChanges();

                    #endregion

                    #region Parametros
                    var parametros = db_f.fa_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    var cliente    = db_f.fa_cliente.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault();
                    #endregion

                    #region Contabilidad
                    if (parametros != null)
                    {
                        ct_cbtecble_Info diario = armar_diario(info, info.CreDeb.Trim() == "C" ? (int)parametros.IdTipoCbteCble_NC : (int)parametros.IdTipoCbteCble_ND, cliente.IdCtaCble_cxc_Credito, info.IdCtaCble_TipoNota);
                        if (diario != null)
                        {
                            if (odata_ct.guardarDB(diario))
                            {
                                db_f.fa_notaCreDeb_x_ct_cbtecble.Add(new fa_notaCreDeb_x_ct_cbtecble
                                {
                                    no_IdEmpresa  = info.IdEmpresa,
                                    no_IdSucursal = info.IdSucursal,
                                    no_IdBodega   = info.IdBodega,
                                    no_IdNota     = info.IdNota,

                                    ct_IdEmpresa  = diario.IdEmpresa,
                                    ct_IdTipoCbte = diario.IdTipoCbte,
                                    ct_IdCbteCble = diario.IdCbteCble,

                                    observacion = info.CodDocumentoTipo + (info.NaturalezaNota == "SRI" ? ("-" + info.Serie1 + "-" + info.Serie2 + "-" + info.NumNota_Impresa) : info.IdNota.ToString("000000000"))
                                });
                                db_f.SaveChanges();
                            }
                        }
                    }
                    #endregion

                    #region Cobranza
                    if (info.CreDeb.Trim() == "C" && info.lst_cruce.Count != 0)
                    {
                        cxc_cobro_Info cobro = armar_cobro(info);
                        if (cobro != null)
                        {
                            if (odata_cobr.guardarDB(cobro))
                            {
                                db_f.fa_notaCreDeb_x_cxc_cobro.Add(new fa_notaCreDeb_x_cxc_cobro
                                {
                                    IdEmpresa_nt   = info.IdEmpresa,
                                    IdSucursal_nt  = info.IdSucursal,
                                    IdBodega_nt    = info.IdBodega,
                                    IdNota_nt      = info.IdNota,
                                    IdEmpresa_cbr  = cobro.IdEmpresa,
                                    IdSucursal_cbr = cobro.IdSucursal,
                                    IdCobro_cbr    = cobro.IdCobro,
                                    Valor_cobro    = Math.Round(info.lst_cruce.Sum(q => q.Valor_Aplicado), 2, MidpointRounding.AwayFromZero)
                                });
                                db_f.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 = "fa_notaCreDeb_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
コード例 #14
0
        public bool guardarDB(fa_parametro_Info info)
        {
            try
            {
                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    fa_parametro Entity = Context.fa_parametro.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa);
                    if (Entity == null)
                    {
                        Entity = new fa_parametro
                        {
                            IdEmpresa = info.IdEmpresa,
                            IdMovi_inven_tipo_Factura         = info.IdMovi_inven_tipo_Factura,
                            IdTipoCbteCble_Factura            = info.IdTipoCbteCble_Factura,
                            IdTipoCbteCble_NC                 = info.IdTipoCbteCble_NC,
                            IdTipoCbteCble_ND                 = info.IdTipoCbteCble_ND,
                            IdCtaCble_SubTotal_Vtas_x_Default = info.IdCtaCble_SubTotal_Vtas_x_Default,
                            NumeroDeItemFact             = info.NumeroDeItemFact,
                            NumeroDeItemProforma         = info.NumeroDeItemProforma,
                            IdCaja_Default_Factura       = info.IdCaja_Default_Factura,
                            IdCtaCble_CXC_Vtas_x_Default = info.IdCtaCble_CXC_Vtas_x_Default,
                            IdCtaCble_IVA              = info.IdCtaCble_IVA,
                            pa_IdCtaCble_descuento     = info.pa_IdCtaCble_descuento,
                            pa_Contabiliza_descuento   = info.pa_Contabiliza_descuento,
                            clave_desbloqueo_precios   = info.clave_desbloqueo_precios,
                            DiasTransaccionesAPasado   = info.DiasTransaccionesAPasado,
                            DiasTransaccionesAFuturo   = info.DiasTransaccionesAFuturo,
                            IdClienteConsumidorFinal   = info.IdClienteConsumidorFinal,
                            MontoMaximoConsumidorFinal = info.MontoMaximoConsumidorFinal
                        };
                        Context.fa_parametro.Add(Entity);
                    }
                    else
                    {
                        Entity.IdMovi_inven_tipo_Factura         = info.IdMovi_inven_tipo_Factura;
                        Entity.IdTipoCbteCble_Factura            = info.IdTipoCbteCble_Factura;
                        Entity.IdTipoCbteCble_NC                 = info.IdTipoCbteCble_NC;
                        Entity.IdTipoCbteCble_ND                 = info.IdTipoCbteCble_ND;
                        Entity.IdCtaCble_SubTotal_Vtas_x_Default = info.IdCtaCble_SubTotal_Vtas_x_Default;
                        Entity.NumeroDeItemFact             = info.NumeroDeItemFact;
                        Entity.NumeroDeItemProforma         = info.NumeroDeItemProforma;
                        Entity.IdCaja_Default_Factura       = info.IdCaja_Default_Factura;
                        Entity.IdCtaCble_CXC_Vtas_x_Default = info.IdCtaCble_CXC_Vtas_x_Default;
                        Entity.IdCtaCble_IVA              = info.IdCtaCble_IVA;
                        Entity.pa_IdCtaCble_descuento     = info.pa_IdCtaCble_descuento;
                        Entity.pa_Contabiliza_descuento   = info.pa_Contabiliza_descuento;
                        Entity.clave_desbloqueo_precios   = info.clave_desbloqueo_precios;
                        Entity.DiasTransaccionesAFuturo   = info.DiasTransaccionesAFuturo;
                        Entity.DiasTransaccionesAPasado   = info.DiasTransaccionesAPasado;
                        Entity.IdClienteConsumidorFinal   = info.IdClienteConsumidorFinal;
                        Entity.MontoMaximoConsumidorFinal = info.MontoMaximoConsumidorFinal;
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #15
0
        public bool guardarDB(fa_proforma_Info info)
        {
            try
            {
                int secuencia = 1;
                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    Context.fa_proforma.Add(new fa_proforma
                    {
                        IdEmpresa            = info.IdEmpresa,
                        IdSucursal           = info.IdSucursal,
                        IdProforma           = info.IdProforma = get_id(info.IdEmpresa, info.IdSucursal),
                        IdCliente            = info.IdCliente,
                        IdTerminoPago        = info.IdTerminoPago,
                        pf_plazo             = info.pf_plazo,
                        pf_codigo            = info.pf_codigo,
                        pf_observacion       = info.pf_observacion,
                        pf_fecha             = info.pf_fecha,
                        pf_fecha_vcto        = info.pf_fecha_vcto,
                        estado               = info.estado = true,
                        IdBodega             = info.IdBodega,
                        IdVendedor           = info.IdVendedor,
                        pr_dias_entrega      = info.pr_dias_entrega,
                        IdNivel              = info.IdNivel,
                        IdCatalogo_FormaPago = info.IdCatalogo_FormaPago,

                        IdUsuario_creacion = info.IdUsuario_creacion,
                        fecha_creacion     = DateTime.Now,
                        IdContacto         = (info.IdContacto == 0 ? null : info.IdContacto)
                    });

                    foreach (var item in info.lst_det)
                    {
                        Context.fa_proforma_det.Add(new fa_proforma_det
                        {
                            IdEmpresa            = info.IdEmpresa,
                            IdSucursal           = info.IdSucursal,
                            IdProforma           = info.IdProforma,
                            Secuencia            = secuencia++,
                            IdProducto           = item.IdProducto,
                            pd_cantidad          = item.pd_cantidad,
                            pd_precio            = item.pd_precio,
                            pd_por_descuento_uni = item.pd_por_descuento_uni,
                            pd_descuento_uni     = item.pd_descuento_uni,
                            pd_precio_final      = item.pd_precio_final,
                            pd_subtotal          = item.pd_subtotal,
                            IdCod_Impuesto       = item.IdCod_Impuesto,
                            pd_por_iva           = item.pd_por_iva,
                            pd_iva              = item.pd_iva,
                            anulado             = item.anulado,
                            pd_total            = item.pd_total,
                            IdCentroCosto       = item.IdCentroCosto,
                            NumCotizacion       = item.NumCotizacion,
                            NumOPr              = item.NumOPr,
                            pd_DetalleAdicional = item.pd_DetalleAdicional
                        });
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #16
0
        public List <fa_cliente_Info> get_list(int IdEmpresa, bool mostrar_anulados)
        {
            try
            {
                List <fa_cliente_Info> Lista;
                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    if (mostrar_anulados)
                    {
                        Lista = (from q in Context.vwfa_cliente_consulta
                                 join t in Context.fa_cliente_tipo
                                 on new { q.IdEmpresa, q.Idtipo_cliente } equals new { t.IdEmpresa, t.Idtipo_cliente }
                                 where q.IdEmpresa == IdEmpresa
                                 select new fa_cliente_Info
                        {
                            IdEmpresa = q.IdEmpresa,
                            Codigo = q.Codigo,
                            Estado = q.Estado,
                            IdCliente = q.IdCliente,
                            Descripcion_tip_cliente = t.Descripcion_tip_cliente,
                            info_persona = new Info.General.tb_persona_Info
                            {
                                IdPersona = q.IdPersona,
                                pe_nombreCompleto = q.pe_nombreCompleto,
                                pe_cedulaRuc = q.pe_cedulaRuc
                            },

                            EstadoBool = q.Estado == "A" ? true : false
                        }).ToList();
                    }
                    else
                    {
                        Lista = (from q in Context.vwfa_cliente_consulta
                                 join t in Context.fa_cliente_tipo
                                 on new { q.IdEmpresa, q.Idtipo_cliente } equals new { t.IdEmpresa, t.Idtipo_cliente }
                                 where q.IdEmpresa == IdEmpresa &&
                                 q.Estado == "A"
                                 select new fa_cliente_Info
                        {
                            IdEmpresa = q.IdEmpresa,
                            Codigo = q.Codigo,
                            Estado = q.Estado,
                            IdCliente = q.IdCliente,
                            Descripcion_tip_cliente = t.Descripcion_tip_cliente,
                            info_persona = new Info.General.tb_persona_Info
                            {
                                IdPersona = q.IdPersona,
                                pe_nombreCompleto = q.pe_nombreCompleto,
                                pe_cedulaRuc = q.pe_cedulaRuc
                            },

                            EstadoBool = q.Estado == "A" ? true : false
                        }).ToList();
                    }
                }

                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #17
0
        public bool modificarDB(fa_proforma_Info info)
        {
            try
            {
                int secuencia = 1;
                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    fa_proforma Entity = Context.fa_proforma.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdProforma == info.IdProforma);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdCliente              = info.IdCliente;
                    Entity.IdTerminoPago          = info.IdTerminoPago;
                    Entity.pf_plazo               = info.pf_plazo;
                    Entity.pf_codigo              = info.pf_codigo;
                    Entity.pf_observacion         = info.pf_observacion;
                    Entity.pf_fecha               = info.pf_fecha;
                    Entity.pf_fecha_vcto          = info.pf_fecha_vcto;
                    Entity.IdBodega               = info.IdBodega;
                    Entity.IdVendedor             = info.IdVendedor;
                    Entity.pr_dias_entrega        = info.pr_dias_entrega;
                    Entity.IdNivel                = info.IdNivel;
                    Entity.IdUsuario_modificacion = info.IdUsuario_modificacion;
                    Entity.fecha_modificacion     = DateTime.Now;
                    Entity.IdCatalogo_FormaPago   = info.IdCatalogo_FormaPago;
                    Entity.IdContacto             = (info.IdContacto == 0 ? null : info.IdContacto);

                    var lst = Context.fa_proforma_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdProforma == info.IdProforma);
                    Context.fa_proforma_det.RemoveRange(lst);

                    foreach (var item in info.lst_det)
                    {
                        Context.fa_proforma_det.Add(new fa_proforma_det
                        {
                            IdEmpresa            = info.IdEmpresa,
                            IdSucursal           = info.IdSucursal,
                            IdProforma           = info.IdProforma,
                            Secuencia            = secuencia++,
                            IdProducto           = item.IdProducto,
                            pd_cantidad          = item.pd_cantidad,
                            pd_precio            = item.pd_precio,
                            pd_por_descuento_uni = item.pd_por_descuento_uni,
                            pd_descuento_uni     = item.pd_descuento_uni,
                            pd_precio_final      = item.pd_precio_final,
                            pd_subtotal          = item.pd_subtotal,
                            IdCod_Impuesto       = item.IdCod_Impuesto,
                            pd_por_iva           = item.pd_por_iva,
                            pd_iva              = item.pd_iva,
                            anulado             = item.anulado,
                            pd_total            = item.pd_total,
                            IdCentroCosto       = item.IdCentroCosto,
                            NumCotizacion       = item.NumCotizacion,
                            NumOPr              = item.NumOPr,
                            pd_DetalleAdicional = item.pd_DetalleAdicional
                        });
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #18
0
        public fa_cliente_Info get_info_x_num_cedula(int IdEmpresa, string pe_cedulaRuc)
        {
            try
            {
                fa_cliente_Info info = new fa_cliente_Info
                {
                    info_persona = new Info.General.tb_persona_Info()
                };

                Entities_general Context_general = new Entities_general();
                tb_persona       Entity_p        = Context_general.tb_persona.Where(q => q.pe_cedulaRuc == pe_cedulaRuc).FirstOrDefault();
                if (Entity_p == null)
                {
                    Context_general.Dispose();
                    return(info);
                }

                Entities_facturacion Context_facturacion = new Entities_facturacion();
                fa_cliente           Entity_c            = Context_facturacion.fa_cliente.Where(q => q.IdEmpresa == IdEmpresa && q.IdPersona == Entity_p.IdPersona).FirstOrDefault();
                if (Entity_c == null)
                {
                    info.IdPersona    = Entity_p.IdPersona;
                    info.info_persona = new Info.General.tb_persona_Info
                    {
                        IdPersona           = Entity_p.IdPersona,
                        pe_apellido         = Entity_p.pe_apellido,
                        pe_nombre           = Entity_p.pe_nombre,
                        pe_cedulaRuc        = Entity_p.pe_cedulaRuc,
                        pe_nombreCompleto   = Entity_p.pe_nombreCompleto,
                        pe_razonSocial      = Entity_p.pe_razonSocial,
                        pe_celular          = Entity_p.pe_celular,
                        pe_telfono_Contacto = Entity_p.pe_telfono_Contacto,
                        pe_correo           = Entity_p.pe_correo,
                        pe_direccion        = Entity_p.pe_direccion
                    };
                    Context_general.Dispose();
                    Context_facturacion.Dispose();
                    return(info);
                }

                info = new fa_cliente_Info
                {
                    IdEmpresa    = Entity_c.IdEmpresa,
                    IdCliente    = Entity_c.IdCliente,
                    IdPersona    = Entity_p.IdPersona,
                    info_persona = new Info.General.tb_persona_Info
                    {
                        IdPersona           = Entity_p.IdPersona,
                        pe_apellido         = Entity_p.pe_apellido,
                        pe_nombre           = Entity_p.pe_nombre,
                        pe_cedulaRuc        = Entity_p.pe_cedulaRuc,
                        pe_nombreCompleto   = Entity_p.pe_nombreCompleto,
                        pe_razonSocial      = Entity_p.pe_razonSocial,
                        pe_celular          = Entity_p.pe_celular,
                        pe_telfono_Contacto = Entity_p.pe_telfono_Contacto,
                        pe_correo           = Entity_p.pe_correo,
                        pe_direccion        = Entity_p.pe_direccion
                    }
                };

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #19
0
ファイル: ct_periodo_Data.cs プロジェクト: omarsencion/ERPWEB
        public bool ValidarFechaTransaccion(int IdEmpresa, DateTime Fecha, cl_enumeradores.eModulo Modulo, int IdSucursal, ref string mensaje)
        {
            Entities_contabilidad db_conta   = new Entities_contabilidad();
            Entities_general      db_general = new Entities_general();

            try
            {
                Fecha = Fecha.Date;
                int    Periodo = Convert.ToInt32(Fecha.ToString("yyyyMM"));
                string sModulo = Modulo.ToString();
                ct_CierrePorModuloPorSucursal CierreModulo = new ct_CierrePorModuloPorSucursal();
                var empresa = db_general.tb_empresa.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                if (empresa != null)
                {
                    if (empresa.em_fechaInicioActividad > Fecha.Date)
                    {
                        mensaje = "La fecha de la transacción es menor al inicio de actividades de la empresa en el sistema FIXED ERP: " + Fecha.Date.ToString("dd/MM/yyyy");
                        return(false);
                    }
                }

                ct_periodo per = db_conta.ct_periodo.Where(q => q.IdEmpresa == IdEmpresa && q.IdPeriodo == Periodo).FirstOrDefault();

                if (per == null)
                {
                    mensaje = "El periodo " + Periodo + " de la transacción no se encuentra registrado.";
                    return(false);
                }

                if (per.pe_cerrado == "S")
                {
                    mensaje = "El periodo " + Periodo + " se encuentra cerrado.";
                    return(false);
                }

                switch (Modulo)
                {
                case cl_enumeradores.eModulo.INV:
                    using (Entities_inventario db = new Entities_inventario())
                    {
                        var param = db.in_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de inventario";
                            return(false);
                        }

                        /*
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de importación";
                         *  return false;
                         * }
                         */

                        CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "INV" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                        if (CierreModulo != null)
                        {
                            if (Fecha.Date <= CierreModulo.FechaFin)
                            {
                                mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de inventario";
                                return(false);
                            }
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.FAC:
                    using (Entities_facturacion db = new Entities_facturacion())
                    {
                        var param = db.fa_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de facturación";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de facturación";
                            return(false);
                        }
                        CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "FAC" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                        if (CierreModulo != null)
                        {
                            if (Fecha.Date <= CierreModulo.FechaFin)
                            {
                                mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de facturación";
                                return(false);
                            }
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.COM:
                    using (Entities_compras db = new Entities_compras())
                    {
                        var param = db.com_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de compras";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de compras";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "COMP" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de compras";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.ACF:
                    using (Entities_activo_fijo db = new Entities_activo_fijo())
                    {
                        var param = db.Af_Parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de activo fijo";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de activo fijo";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "ACTF" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de activo fijo";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.RRHH:
                    using (Entities_rrhh db = new Entities_rrhh())
                    {
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "ROL" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de recursos humanos";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.IMP:
                    using (Entities_importacion db = new Entities_importacion())
                    {
                        var param = db.imp_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de importación";
                            return(false);
                        }

                        /*
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de importación";
                         *  return false;
                         * }
                         */
                    }
                    break;

                case cl_enumeradores.eModulo.CONTA:
                    using (Entities_contabilidad db = new Entities_contabilidad())
                    {
                        var param = db.ct_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de contabilidad";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de contabilidad";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CONTA" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de contabilidad";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CAJA:
                    using (Entities_caja db = new Entities_caja())
                    {
                        var param = db.caj_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de caja";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de caja";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CAJ" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de caja";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.BANCO:
                    using (Entities_banco db = new Entities_banco())
                    {
                        var param = db.ba_parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de bancos";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de bancos";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "BAN" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de bancos";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CXC:
                    using (Entities_cuentas_por_cobrar db = new Entities_cuentas_por_cobrar())
                    {
                        var param = db.cxc_Parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de cuentas por cobrar";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de cuentas por cobrar";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CXC" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de cuentas por cobrar";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CXP:
                    using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar())
                    {
                        var param = db.cp_parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de cuentas por pagar";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de cuentas por pagar";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CXP" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de cuentas por pagar";
                            return(false);
                        }
                    }
                    break;
                }

                db_general.Dispose();
                db_conta.Dispose();
                return(true);
            }
            catch (Exception)
            {
                db_conta.Dispose();
                db_general.Dispose();
                throw;
            }
        }
コード例 #20
0
        public bool guardarDB(fa_cliente_Info info)
        {
            try
            {
                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    fa_cliente Entity = new fa_cliente
                    {
                        IdEmpresa = info.IdEmpresa,
                        IdCliente = info.IdCliente = get_id(info.IdEmpresa),
                        cl_Cupo   = info.cl_Cupo,
                        cl_plazo  = info.cl_plazo,
                        Codigo    = info.Codigo,
                        Estado    = info.Estado = "A",
                        es_empresa_relacionada = info.es_empresa_relacionada,
                        FormaPago             = info.FormaPago,
                        IdCtaCble_cxc_Credito = info.IdCtaCble_cxc_Credito,
                        IdCtaCble_Anticipo    = info.IdCtaCble_Anticipo,
                        IdPersona             = info.IdPersona,
                        IdTipoCredito         = info.IdTipoCredito,
                        Idtipo_cliente        = info.Idtipo_cliente,
                        IdNivel             = info.IdNivel,
                        EsClienteExportador = info.EsClienteExportador,
                        IdUsuario           = info.IdUsuario,
                        Fecha_Transac       = DateTime.Now
                    };
                    Context.fa_cliente.Add(Entity);
                    //foreach (var item in info.lst_fa_cliente_contactos)
                    //{
                    fa_cliente_contactos Entity_det = new fa_cliente_contactos
                    {
                        IdEmpresa   = Entity.IdEmpresa,
                        IdCliente   = Entity.IdCliente,
                        IdContacto  = 1,
                        IdCiudad    = info.IdCiudad,
                        IdParroquia = info.IdParroquia,
                        Celular     = info.Celular,
                        Correo      = info.Correo,
                        Direccion   = info.Direccion,
                        Nombres     = info.info_persona.pe_nombreCompleto,
                        Telefono    = info.Telefono
                    };
                    Context.fa_cliente_contactos.Add(Entity_det);
                    //}

                    foreach (var item in info.Lst_fa_cliente_x_fa_Vendedor_x_sucursal)
                    {
                        fa_cliente_x_fa_Vendedor_x_sucursal det = new fa_cliente_x_fa_Vendedor_x_sucursal
                        {
                            IdEmpresa   = info.IdEmpresa,
                            IdSucursal  = item.IdSucursal,
                            IdCliente   = info.IdCliente,
                            IdVendedor  = item.IdVendedor,
                            observacion = item.observacion
                        };
                        Context.fa_cliente_x_fa_Vendedor_x_sucursal.Add(det);
                    }
                    info.IdContacto = Entity_det.IdContacto;
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #21
0
        public tb_persona_Info get_info(int IdEmpresa, string IdTipoPersona, decimal IdEntidad)
        {
            tb_persona_Info info = new tb_persona_Info();

            Entities_general context_g = new Entities_general();

            switch (IdTipoPersona)
            {
            case "PERSONA":
                info = (from q in context_g.tb_persona
                        where q.pe_estado == "A" &&
                        q.IdPersona == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.pe_nombreCompleto,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdPersona
                }).FirstOrDefault();
                break;

            case "CLIENTE":
                Entities_facturacion context_f = new Entities_facturacion();
                info = (from q in context_f.vwfa_cliente_consulta
                        where q.Estado == "A" &&
                        q.IdEmpresa == IdEmpresa &&
                        q.IdCliente == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.pe_nombreCompleto,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdCliente
                }).FirstOrDefault();
                context_f.Dispose();
                break;

            case "EMPLEA":
                Entities_rrhh context_e = new Entities_rrhh();
                info = (from q in context_e.vwro_empleados_consulta
                        where q.em_estado == "A" &&
                        q.IdEmpresa == IdEmpresa &&
                        q.IdEmpleado == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.Empleado,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdEmpleado
                }).FirstOrDefault();
                context_e.Dispose();
                break;

            case "PROVEE":
                Entities_cuentas_por_pagar context_p = new Entities_cuentas_por_pagar();
                info = (from q in context_p.vwcp_proveedor_consulta
                        where q.pr_estado == "A" &&
                        q.IdEmpresa == IdEmpresa &&
                        q.IdProveedor == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.pe_nombreCompleto,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdProveedor
                }).FirstOrDefault();
                context_p.Dispose();
                break;
            }

            context_g.Dispose();

            return(info);
        }
コード例 #22
0
        public bool ValidarCupoCreditoCliente(int IdEmpresa, int IdSucursal, int IdBodega, decimal IdCbteVta, string vt_tipoDoc, decimal IdCliente, double Total, ref string mensaje)
        {
            Entities_cuentas_por_cobrar db_cxc = new Entities_cuentas_por_cobrar();
            Entities_facturacion        db_fac = new Entities_facturacion();

            try
            {
                #region variables
                double ValorDocumento = 0;
                double SaldoPorCobrar = 0;
                #endregion

                var cliente = db_fac.fa_cliente.Where(q => q.IdEmpresa == IdEmpresa && q.IdCliente == IdCliente).FirstOrDefault();
                if (cliente == null)
                {
                    db_cxc.Dispose();
                    db_fac.Dispose();
                    mensaje = "Seleccione el cliente";
                    return(false);
                }

                if (cliente.cl_Cupo == 0)
                {
                    db_cxc.Dispose();
                    db_fac.Dispose();
                    return(true);
                }

                if (IdCbteVta != 0)
                {
                    if (vt_tipoDoc == "FACT")
                    {
                        var fac = db_fac.vwfa_factura.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdBodega == IdBodega && q.IdCbteVta == IdCbteVta).FirstOrDefault();
                        if (fac != null)
                        {
                            ValorDocumento = fac.vt_total == null ? 0 : Convert.ToDouble(fac.vt_total);
                        }
                    }
                    else
                    {
                        var fac = db_fac.vwfa_notaCreDeb.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdBodega == IdBodega && q.IdNota == IdCbteVta).FirstOrDefault();
                        if (fac != null)
                        {
                            ValorDocumento = fac.sc_total == null ? 0 : Convert.ToDouble(fac.sc_total);
                        }
                    }
                }

                var cartera = db_cxc.vwcxc_cartera_x_cobrar.Where(q => q.IdEmpresa == IdEmpresa && q.IdCliente == IdCliente && q.Estado == "A");
                if (cartera.Count() > 0)
                {
                    SaldoPorCobrar = Convert.ToDouble(cartera.Sum(q => q.Saldo));
                }

                if (Math.Round(Total + SaldoPorCobrar - ValorDocumento, 2, MidpointRounding.AwayFromZero) > cliente.cl_Cupo)
                {
                    mensaje = "El cliente ha sobrepasado su cupo de crédito de: $" + Math.Round(cliente.cl_Cupo, 2, MidpointRounding.AwayFromZero) + ", Actualmente tiene un crédito en documentos de : $" + Math.Round(SaldoPorCobrar, 2, MidpointRounding.AwayFromZero) + " El total del documento actual es de $" + Math.Round(Total, 2, MidpointRounding.AwayFromZero);
                    db_cxc.Dispose();
                    db_fac.Dispose();
                    return(false);
                }

                db_cxc.Dispose();
                db_fac.Dispose();

                return(true);
            }
            catch (Exception)
            {
                db_cxc.Dispose();
                db_fac.Dispose();
                throw;
            }
        }
コード例 #23
0
        public bool guardarDB(fa_guia_remision_Info info)
        {
            try
            {
                int secuencia = 1;

                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    fa_guia_remision Entity = new fa_guia_remision
                    {
                        IdEmpresa              = info.IdEmpresa,
                        IdSucursal             = info.IdSucursal,
                        IdBodega               = info.IdBodega,
                        IdGuiaRemision         = info.IdGuiaRemision = get_id(info.IdEmpresa),
                        CodGuiaRemision        = info.CodGuiaRemision,
                        CodDocumentoTipo       = info.CodDocumentoTipo,
                        Serie1                 = info.Serie1,
                        Serie2                 = info.Serie2,
                        NumGuia_Preimpresa     = info.NumGuia_Preimpresa,
                        NUAutorizacion         = info.NUAutorizacion,
                        Fecha_Autorizacion     = info.Fecha_Autorizacion,
                        IdCliente              = info.IdCliente,
                        IdContacto             = info.IdContacto,
                        IdTransportista        = info.IdTransportista,
                        gi_fecha               = info.gi_fecha.Date,
                        gi_plazo               = info.gi_plazo,
                        gi_fech_venc           = info.gi_fech_venc,
                        gi_Observacion         = info.gi_Observacion,
                        Impreso                = info.Impreso,
                        gi_FechaInicioTraslado = info.gi_FechaInicioTraslado.Date,
                        gi_FechaFinTraslado    = info.gi_FechaFinTraslado.Date,
                        placa               = info.placa,
                        ruta                = info.ruta,
                        Direccion_Destino   = info.Direccion_Destino,
                        Direccion_Origen    = info.Direccion_Origen,
                        IdCatalogo_traslado = info.IdCatalogo_traslado,
                        Estado              = info.Estado = "A",
                        IdUsuario           = info.IdUsuario,
                        Fecha_Transac       = info.Fecha_Transac = DateTime.Now
                    };
                    Context.fa_guia_remision.Add(Entity);
                    foreach (var item in info.lst_detalle)
                    {
                        Context.fa_guia_remision_det.Add(new fa_guia_remision_det
                        {
                            IdEmpresa        = info.IdEmpresa,
                            IdSucursal       = info.IdSucursal,
                            IdBodega         = info.IdBodega,
                            IdGuiaRemision   = info.IdGuiaRemision,
                            Secuencia        = secuencia,
                            IdProducto       = item.IdProducto,
                            gi_cantidad      = item.gi_cantidad,
                            gi_detallexItems = item.gi_detallexItems
                        });
                        Context.fa_guia_remision_det_x_factura.Add(new fa_guia_remision_det_x_factura
                        {
                            IdEmpresa_fact      = info.IdEmpresa,
                            IdSucursal_fact     = info.IdSucursal,
                            IdBodega_fact       = info.IdBodega,
                            IdCbteVta_fact      = Convert.ToDecimal(item.IdCbteVta),
                            IdGuiaRemision_guia = info.IdGuiaRemision,
                            Secuencia_fact      = Convert.ToInt32(item.Secuencia_fact),
                            Secuencia_guia      = secuencia,
                            IdBodega_guia       = info.IdBodega,
                            IdSucursal_guia     = info.IdSucursal,
                            IdEmpresa_guia      = info.IdEmpresa
                        });
                        secuencia++;
                    }
                    foreach (var item in info.lst_detalle_x_factura)
                    {
                        Context.fa_factura_x_fa_guia_remision.Add(new fa_factura_x_fa_guia_remision
                        {
                            fa_IdEmpresa      = info.IdEmpresa,
                            fa_IdSucursal     = info.IdSucursal,
                            fa_IdBodega       = info.IdBodega,
                            fa_IdCbteVta      = item.IdCbteVta,
                            gi_IdEmpresa      = info.IdEmpresa,
                            gi_IdSucursal     = info.IdSucursal,
                            gi_IdBodega       = info.IdBodega,
                            gi_IdGuiaRemision = info.IdGuiaRemision
                        });
                    }
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #24
0
        public bool guardarDB(fa_guia_remision_Info info)
        {
            fa_PuntoVta_Info punto_venta = new fa_PuntoVta_Info();

            punto_venta = data_puntovta.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta);

            try
            {
                int secuencia = 1;
                using (Entities_facturacion Context = new Entities_facturacion())
                {
                    fa_guia_remision Entity = new fa_guia_remision
                    {
                        IdEmpresa              = info.IdEmpresa,
                        IdSucursal             = info.IdSucursal,
                        IdPuntoVta             = info.IdPuntoVta,
                        IdBodega               = info.IdBodega,
                        IdGuiaRemision         = info.IdGuiaRemision = get_id(info.IdEmpresa),
                        CodGuiaRemision        = info.CodGuiaRemision,
                        CodDocumentoTipo       = info.CodDocumentoTipo,
                        Serie1                 = info.Serie1,
                        Serie2                 = info.Serie2,
                        NumGuia_Preimpresa     = info.NumGuia_Preimpresa,
                        NUAutorizacion         = info.NUAutorizacion,
                        Fecha_Autorizacion     = info.Fecha_Autorizacion,
                        IdCliente              = info.IdCliente,
                        IdTransportista        = info.IdTransportista,
                        gi_fecha               = info.gi_fecha.Date,
                        gi_plazo               = info.gi_plazo,
                        gi_fech_venc           = info.gi_fech_venc,
                        gi_Observacion         = info.gi_Observacion,
                        gi_FechaInicioTraslado = info.gi_FechaInicioTraslado.Date,
                        gi_FechaFinTraslado    = info.gi_FechaFinTraslado.Date,
                        placa             = info.placa,
                        Direccion_Destino = info.Direccion_Destino,
                        Direccion_Origen  = info.Direccion_Origen,
                        IdMotivoTraslado  = info.IdMotivoTraslado,
                        Estado            = info.Estado = true,
                        IdUsuarioCreacion = info.IdUsuarioCreacion,
                        FechaCreacion     = info.FechaCreacion = DateTime.Now
                    };

                    foreach (var item in info.lst_detalle)
                    {
                        Context.fa_guia_remision_det.Add(new fa_guia_remision_det
                        {
                            IdEmpresa        = info.IdEmpresa,
                            IdSucursal       = info.IdSucursal,
                            IdBodega         = info.IdBodega,
                            IdGuiaRemision   = info.IdGuiaRemision,
                            Secuencia        = secuencia,
                            IdProducto       = item.IdProducto,
                            gi_cantidad      = item.gi_cantidad,
                            gi_detallexItems = item.gi_detallexItems,
                            gi_precio        = item.gi_precio,
                            gi_por_desc      = item.gi_por_desc,
                            gi_descuentoUni  = item.gi_descuentoUni,
                            gi_PrecioFinal   = item.gi_PrecioFinal,
                            gi_Subtotal      = item.gi_Subtotal,
                            IdCod_Impuesto   = item.IdCod_Impuesto,
                            gi_por_iva       = item.gi_por_iva,
                            gi_Iva           = item.gi_Iva,
                            gi_Total         = item.gi_Total
                        });

                        if (item.IdCbteVta != null && item.IdCbteVta != 0)
                        {
                            Context.fa_guia_remision_det_x_factura.Add(new fa_guia_remision_det_x_factura
                            {
                                IdEmpresa_fact      = info.IdEmpresa,
                                IdSucursal_fact     = info.IdSucursal,
                                IdBodega_fact       = info.IdBodega,
                                IdCbteVta_fact      = Convert.ToDecimal(item.IdCbteVta),
                                IdGuiaRemision_guia = info.IdGuiaRemision,
                                Secuencia_fact      = Convert.ToInt32(item.Secuencia_fact),
                                Secuencia_guia      = secuencia,
                                IdBodega_guia       = info.IdBodega,
                                IdSucursal_guia     = info.IdSucursal,
                                IdEmpresa_guia      = info.IdEmpresa
                            });
                        }

                        secuencia++;
                    }

                    foreach (var item in info.lst_detalle_x_factura)
                    {
                        if (item.IdCbteVta != 0)
                        {
                            Context.fa_factura_x_fa_guia_remision.Add(new fa_factura_x_fa_guia_remision
                            {
                                fa_IdEmpresa      = info.IdEmpresa,
                                fa_IdSucursal     = info.IdSucursal,
                                fa_IdBodega       = info.IdBodega,
                                fa_IdCbteVta      = item.IdCbteVta,
                                gi_IdEmpresa      = info.IdEmpresa,
                                gi_IdSucursal     = info.IdSucursal,
                                gi_IdBodega       = info.IdBodega,
                                gi_IdGuiaRemision = info.IdGuiaRemision
                            });
                        }
                    }

                    #region Talonario
                    fa_PuntoVta_Info info_puntovta = new fa_PuntoVta_Info();
                    tb_sis_Documento_Tipo_Talonario_Info info_talonario   = new tb_sis_Documento_Tipo_Talonario_Info();
                    tb_sis_Documento_Tipo_Talonario_Info ultimo_talonario = new tb_sis_Documento_Tipo_Talonario_Info();
                    tb_sis_Documento_Tipo_Talonario_Data data_talonario   = new tb_sis_Documento_Tipo_Talonario_Data();
                    info_puntovta = data_puntovta.get_info(info.IdEmpresa, info.IdSucursal, info.IdPuntoVta);

                    if (info_puntovta != null)
                    {
                        if (info_puntovta.EsElectronico == true)
                        {
                            ultimo_talonario = data_talonario.GetUltimoNoUsado(info.IdEmpresa, info_puntovta.codDocumentoTipo, info_puntovta.Su_CodigoEstablecimiento, info_puntovta.cod_PuntoVta, info_puntovta.EsElectronico, true);

                            if (ultimo_talonario != null)
                            {
                                Entity.Serie1             = info.Serie1 = ultimo_talonario.Establecimiento;
                                Entity.Serie2             = info.Serie2 = ultimo_talonario.PuntoEmision;
                                Entity.NumGuia_Preimpresa = info.NumGuia_Preimpresa = ultimo_talonario.NumDocumento;
                            }
                        }
                        else
                        {
                            info_talonario.IdEmpresa        = info.IdEmpresa;
                            info_talonario.CodDocumentoTipo = info.CodDocumentoTipo;
                            info_talonario.Establecimiento  = info.Serie1;
                            info_talonario.PuntoEmision     = info.Serie2;
                            info_talonario.NumDocumento     = info.NumGuia_Preimpresa;
                            info_talonario.IdSucursal       = info.IdSucursal;
                            info_talonario.Usado            = true;
                            data_talonario.modificar_estado_usadoDB(info_talonario);
                        }
                    }

                    #endregion
                    Context.fa_guia_remision.Add(Entity);
                    Context.SaveChanges();
                }
                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 = "fa_guia_remision_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuarioCreacion
                });
                return(false);
            }
        }