コード例 #1
0
        private bool Validar(tb_Empresa empresa)
        {
            var msg = _repositorioEmpresa.Validar(empresa);

            if (string.IsNullOrWhiteSpace(msg))
            {
                return(true);
            }
            else
            {
                XtraMessageBox.Show(msg);
            }

            return(false);
        }
コード例 #2
0
        public List <factura> get_facturas_eventos(DateTime FechaIni, DateTime FechaFin)
        {
            tb_Empresa          info_empresa        = new tb_Empresa();
            tb_facturas_eventos info_factura_evento = new tb_facturas_eventos();
            decimal?            vt_NumFactura       = 1;

            try
            {
                using (EntitiesFactElectronica Context_fac = new EntitiesFactElectronica())
                {
                    info_empresa  = Context_fac.tb_Empresa.Where(v => v.RUC == "0991435786001").FirstOrDefault();
                    vt_NumFactura = Context_fac.tb_facturas_eventos.Where(v => v.IdEmpresa == info_empresa.IdEmpresa).Max(v => v.NumFactura) + 1;
                }
            }
            catch (Exception)
            {
                return(new List <factura>());
            }



            DateTime Fi = Convert.ToDateTime(FechaIni.ToShortDateString());
            DateTime Ff = Convert.ToDateTime(FechaFin.ToShortDateString());

            //string sFi, sFf;
            //sFi = string.Format(formatoFechaDB, Fi);
            //sFf = string.Format(formatoFechaDB, Ff);


            try
            {
                List <factura> lista = new List <factura>();
                using (Entity_eventos context = new Entity_eventos())
                {
                    var facturas = context.vwFacturas_fac_electronica.Where(v => v.fecha >= Fi && v.fecha <= Ff && v.estado_aprobacion == "APRO" && v.bd_est == 1);
                    foreach (var item in facturas)
                    {
                        item.nu_ced_clte = item.nu_ced_clte.Trim();

                        factura myObject = new factura();
                        myObject.version     = "1.1.0";
                        myObject.id          = facturaID.comprobante;
                        myObject.idSpecified = true;
                        infoTributaria info = new infoTributaria();
                        myObject.infoFactura = new facturaInfoFactura();
                        myObject.infoFactura.totalConImpuestos = new List <facturaInfoFacturaTotalImpuesto>();
                        myObject.infoFactura.pagos             = new List <pagosPago>();
                        pagosPago Pago = new pagosPago();
                        myObject.infoTributaria = info;
                        myObject.detalles       = new List <facturaDetalle>();
                        facturaInfoFacturaTotalImpuesto impuesto = null;
                        info.ambiente = "1";
                        myObject.infoTributaria.tipoEmision     = "1";
                        myObject.infoTributaria.razonSocial     = info_empresa.RazonSocial;
                        myObject.infoTributaria.nombreComercial = info_empresa.NombreComercial;
                        myObject.infoTributaria.ruc             = info_empresa.RUC;
                        myObject.infoTributaria.claveAcceso     = "0000000000000000000000000000000000000000000000000";
                        //*********************************************************************************
                        myObject.infoTributaria.codDoc          = "01";
                        myObject.infoTributaria.estab           = "001";
                        myObject.infoTributaria.ptoEmi          = "003";
                        myObject.infoTributaria.secuencial      = vt_NumFactura.ToString().PadLeft(9, '0');
                        myObject.infoTributaria.dirMatriz       = info_empresa.DirMatriz;
                        myObject.infoFactura.fechaEmision       = string.Format("{0:dd/MM/yyyy}", item.fecha);
                        myObject.infoFactura.dirEstablecimiento = info_empresa.DirMatriz;
                        //if (item.ContribuyenteEspecial == "S")
                        //{
                        //    myObject.infoFactura.contribuyenteEspecial = "1234";
                        //}

                        myObject.infoFactura.obligadoContabilidadSpecified = true;
                        myObject.infoFactura.obligadoContabilidad          = obligadoContabilidad.SI;
                        if (item.nu_ced_clte.Length == 13)
                        {
                            myObject.infoFactura.tipoIdentificacionComprador = "04";
                        }

                        else
                        {
                            myObject.infoFactura.tipoIdentificacionComprador = "05";
                        }
                        string nombre = item.nombres.Trim() + " " + item.apellidos.Trim();
                        myObject.infoFactura.razonSocialComprador    = (nombre.ToString().Replace("S.A", "")).Trim();
                        myObject.infoFactura.identificacionComprador = item.nu_ced_ruc.Trim();
                        myObject.infoFactura.direccionComprador      = item.direccion.Trim();
                        myObject.infoFactura.totalSinImpuestos       = Convert.ToDecimal(item.subtotal);
                        myObject.infoFactura.totalDescuento          = Convert.ToDecimal(0.00);

                        //campos de propina
                        myObject.infoFactura.propinaSpecified = true;
                        myObject.infoFactura.propina          = 0;

                        //valor total de la factura
                        myObject.infoFactura.importeTotal = Convert.ToDecimal(item.total);
                        myObject.infoFactura.moneda       = "DOLAR";

                        //forma de pago quemada por decisión del cliente, siempre va a usar esta forma de pago
                        Pago.formaPago      = "20";
                        Pago.total          = Convert.ToDecimal(item.total);
                        Pago.plazoSpecified = true;
                        Pago.plazo          = 0;
                        Pago.unidadTiempo   = "Días";
                        myObject.infoFactura.pagos.Add(Pago);


                        impuesto        = new facturaInfoFacturaTotalImpuesto();
                        impuesto.codigo = "2";
                        if (item.v_iva == 0)
                        {
                            impuesto.baseImponible    = Convert.ToDecimal("0.00");
                            impuesto.codigoPorcentaje = "1";
                        }
                        if (item.v_iva > 0)
                        {
                            impuesto.baseImponible    = Convert.ToDecimal(item.subtotal);
                            impuesto.codigoPorcentaje = "2";
                        }

                        impuesto.valor = Convert.ToDecimal(item.v_iva);
                        myObject.infoFactura.totalConImpuestos.Add(impuesto);



                        decimal        totalDescuento = 0;
                        impuesto       imp            = new impuesto();
                        facturaDetalle fDetalle       = new facturaDetalle();
                        fDetalle.codigoPrincipal        = item.cod_evento.ToString();
                        fDetalle.codigoAuxiliar         = item.cod_evento.ToString();
                        fDetalle.descripcion            = item.descrip;
                        fDetalle.cantidad               = Convert.ToDecimal(item.cant);
                        fDetalle.precioUnitario         = Convert.ToDecimal(item.v_unit);
                        fDetalle.descuento              = Convert.ToDecimal("0.00");
                        totalDescuento                  = totalDescuento + fDetalle.descuento;
                        fDetalle.precioTotalSinImpuesto = Convert.ToDecimal(item.subtotal);
                        if (item.v_iva > 0)
                        {
                            imp.codigo           = "2";
                            imp.codigoPorcentaje = "2";
                            imp.tarifa           = Convert.ToDecimal(12);
                            imp.baseImponible    = Convert.ToDecimal(item.subtotal);
                            imp.valor            = Convert.ToDecimal(item.v_iva);
                        }
                        else
                        {
                            imp.codigo           = "2";
                            imp.codigoPorcentaje = "0";
                            imp.tarifa           = Convert.ToDecimal(0);
                            imp.baseImponible    = Convert.ToDecimal(item.subtotal);
                            imp.valor            = Convert.ToDecimal(item.v_iva);
                        }

                        fDetalle.impuestos = new List <impuesto>();
                        fDetalle.impuestos.Add(imp);
                        myObject.detalles.Add(fDetalle);


                        myObject.infoFactura.totalDescuento = Math.Round(totalDescuento, 2);
                        // campos adicionales
                        fx_GeneradorXML_ValidarEmail_Info datosAdc = new fx_GeneradorXML_ValidarEmail_Info();
                        if (item.email != null)
                        {
                            if (datosAdc.email_bien_escrito(item.email) == true)
                            {
                                myObject.infoAdicional = new List <facturaCampoAdicional>();
                                facturaCampoAdicional compoadicional = new facturaCampoAdicional();
                                compoadicional.nombre = "MAIL";
                                compoadicional.Value  = item.email;
                                myObject.infoAdicional.Add(compoadicional);
                            }
                        }



                        #region Actualizar


                        try
                        {
                            using (Entity_eventos Context_fac_sis_ext = new Entity_eventos())
                            {
                                var entity_modificar = Context_fac_sis_ext.Facturas.Where(v => v.cod_evento == item.cod_evento && v.cod_fact == item.cod_fact).FirstOrDefault();
                                entity_modificar.estado_aprobacion = "GENE";
                                Context_fac_sis_ext.SaveChanges();
                            }
                        }
                        catch (Exception)
                        {
                        }
                        #endregion

                        #region Actualizando secuancia
                        try
                        {
                            using (EntitiesFactElectronica Context_fac = new EntitiesFactElectronica())
                            {
                                var entity_modificar = Context_fac.tb_facturas_eventos.Where(v => v.Evento == item.cod_evento && v.Factura == item.cod_fact).FirstOrDefault();

                                if (entity_modificar == null)
                                {
                                    tb_facturas_eventos evento = new tb_facturas_eventos()
                                    {
                                        IdEmpresa       = info_empresa.IdEmpresa,
                                        Establecimiento = "001",
                                        Puntoemision    = "003",
                                        NumFactura      = Convert.ToDecimal(vt_NumFactura),
                                        Cantidad        = item.cant,
                                        ValorUnitario   = item.v_unit,
                                        Subtotal        = item.subtotal,
                                        Iva             = item.v_iva,
                                        Total           = item.total,
                                        Evento          = item.cod_evento,
                                        Factura         = Convert.ToInt32(item.cod_fact),
                                        Nombre_Evento   = item.descrip
                                    };
                                    if (item.nu_ced_ruc.Trim().Contains("9999999999"))
                                    {
                                        evento.Observacion = item.observacion;
                                    }

                                    Context_fac.tb_facturas_eventos.Add(evento);
                                    Context_fac.SaveChanges();
                                    vt_NumFactura = vt_NumFactura + 1;
                                }
                                else
                                {
                                    myObject.infoTributaria.secuencial = entity_modificar.NumFactura.ToString().PadLeft(9, '0');
                                }
                            }
                        }
                        catch (Exception)
                        {
                        }
                        #endregion

                        lista.Add(myObject);
                    }
                }


                return(lista);
            }
            catch (Exception ex)
            {
                return(new List <factura>());
            }
        }
コード例 #3
0
 public void Save(tb_Empresa entity)
 {
     base.DataModel.Entry(entity).State = entity.Id_empresa == 0 ?
                                          EntityState.Added : System.Data.Entity.EntityState.Modified;
     base.DataModel.SaveChanges();
 }
コード例 #4
0
 public string Validar(tb_Empresa empresa)
 {
     return(string.Empty);
 }
コード例 #5
0
 public void PostEmpresa(tb_Empresa tb_Empresa)
 {
     EmpresaRepository.Save(tb_Empresa);
 }
コード例 #6
0
 public void PutEmpresa(int id, tb_Empresa tb_Empresa)
 {
     EmpresaRepository.Save(tb_Empresa);
 }