private bool Validar(tb_Empresa empresa) { var msg = _repositorioEmpresa.Validar(empresa); if (string.IsNullOrWhiteSpace(msg)) { return(true); } else { XtraMessageBox.Show(msg); } return(false); }
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>()); } }
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(); }
public string Validar(tb_Empresa empresa) { return(string.Empty); }
public void PostEmpresa(tb_Empresa tb_Empresa) { EmpresaRepository.Save(tb_Empresa); }
public void PutEmpresa(int id, tb_Empresa tb_Empresa) { EmpresaRepository.Save(tb_Empresa); }