public List <Remito> listarRemitos(Cliente cliente) { List <Remito> listado = new List <Remito>(); AccesoDatosManager accesoDatos = new AccesoDatosManager(); Remito r; try { accesoDatos.setearConsulta("select r.numeroRemito,c.nombre,r.idCliente,r.fechaRemito,estado from remitos as r inner join clientes as c on c.id = r.idcliente where r.idcliente=" + cliente.id + "and r.estado='No facturado' and r.activo=1"); accesoDatos.abrirConexion(); accesoDatos.ejecutarConsulta(); while (accesoDatos.Lector.Read()) { r = new Remito(); r.cliente = new Cliente(); r.numeroRemito = accesoDatos.Lector["numeroRemito"].ToString(); r.cliente.nombre = accesoDatos.Lector["nombre"].ToString(); r.fecha = (DateTime)accesoDatos.Lector["fechaRemito"]; r.estado = accesoDatos.Lector["estado"].ToString(); listado.Add(r); } return(listado); } catch (Exception ex) { throw ex; } finally { accesoDatos.cerrarConexion(); } }
public void agregarRemito(Remito nuevo) { SqlConnection conexion = new SqlConnection(); SqlCommand comando = new SqlCommand(); try { conexion.ConnectionString = AccesoDatosManager.cadenaConexion; comando.CommandType = System.Data.CommandType.Text; //MSF-20190420: le agregué todas las columnas. Teniendo en cuenta inclusive lo que elegimos en el combo de selección.. comando.CommandText = "set dateformat 'dmy'"; comando.CommandText = "insert into REMITOS (idCliente,numeroRemito , fechaRemito,estado,activo) values"; comando.CommandText += "('" + nuevo.cliente.id + "', '" + nuevo.numeroRemito + "', '" + nuevo.fecha.ToString("MM-dd-yyyy") + "', '" + nuevo.estado + "', '" + "1" + "')"; comando.Connection = conexion; conexion.Open(); comando.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { conexion.Close(); } }
private async Task sendEmailAsync(Pedido pedido, Remito remito) { var message = new MailMessage(); message.To.Add(new MailAddress("*****@*****.**")); message.From = new MailAddress("*****@*****.**"); message.Subject = string.Format("[RECLAMO SIAH] El Remito nro {0} se encuentra con inconsistencias", remito.id); string body = string.Empty; using (StreamReader reader = new StreamReader(Server.MapPath("../Views/Shared/EmailReclamo.html"))) { body = reader.ReadToEnd(); } body = body.Replace("{remitoId}", remito.id.ToString()); body = body.Replace("{pedidoId}", pedido.id.ToString()); Hospital hospital = db.Hospitales.Find(pedido.hospitalId); body = body.Replace("{hospitalName}", hospital.nombre); //body = body.Replace("{tn}", pedido.trackingNumber.ToString()); message.Body = body; message.IsBodyHtml = true; using (var smtp = new SmtpClient()) { await smtp.SendMailAsync(message); } }
public ActionResult ControlPedidoRemito(int id) { Remito remito = db.Remitos.Find(id); changeRemitoState(remito, 2); return(RedirectToAction("ListadoPedidos", "Remitos")); }
private Remito changeRemitoState(Remito remito, int estadoId) { remito.estadoId = estadoId; db.Entry(remito).State = EntityState.Modified; db.SaveChanges(); return(remito); }
private void ActualizarStockFarmacia(Remito remito) { var hospitalId = db.Pedidos.Where(p => p.id == remito.pedidoId).First().hospitalId; foreach (DetalleRemito item in remito.detallesRemito) { ActualizarItem(item, hospitalId, remito); } }
//GET: Remitos/ControlPedidoRemito public ActionResult ControlPedidoRemito(int?id) { Remito remito = db.Remitos.Find(id); Pedido pedido = db.Pedidos.Find(id); var tuplaPedidoRemito = new Tuple <Pedido, Remito>(pedido, remito); ViewBag.hospital = db.Hospitales.Include(hospital => hospital.nombre).Where(hospital => hospital.id == pedido.hospitalId).Select(r => new { hospital = r.nombre }).First().hospital; return(View(tuplaPedidoRemito)); }
public ActionResult ControlPedidoRemito(int id) { Remito remito = db.Remitos.Find(id); changeRemitoState(remito, 2); var detallesRemito = db.DetallesRemito.Where(dr => dr.remitoId == id).ToList(); actualizarPresupuestoHospitalEntregaPedido(remito.pedidoId, detallesRemito); return(RedirectToAction("ListadoPedidos", "Remitos")); }
public async Task <ActionResult> reclamar(int pedidoId) { Remito remito = db.Remitos.Find(pedidoId); Pedido pedido = db.Pedidos.Find(pedidoId); await sendEmailAsync(pedido, remito); changeRemitoState(remito, 3); return(RedirectToAction("ListadoPedidos")); }
/// <summary> /// Anula un remito en Bd /// </summary> /// <param name="remito">Tipo remito</param> /// <returns>Devuelve si se actualiza o no</returns> public bool AnularRemito(Remito remito) { BTSDataContext BaseDeDatos = new BTSDataContext(); int filasAFECTADAS = BaseDeDatos.AnularRemito(remito.NroRemito, remito.Estado); if (filasAFECTADAS > 0) { return(true); } return(false); }
public bool AgregarRemito(Remito remito) { try { _context.Remitos.InsertOnSubmit(remito); _context.SubmitChanges(); return(true); } catch (Exception ex) { return(false); } }
/// <summary> /// Inserta un Remito en Bd /// </summary> /// <param name="remito">Tipo Remito</param> /// <returns>Devuelve si se inserto o no</returns> public bool InsertarRemito(Remito remito) { BTSDataContext BaseDeDatos = new BTSDataContext(); int filasAFECTADAS = BaseDeDatos.InsertarRemito(remito.Fecha, remito.NroPedido, remito.NroFactura, remito.Descripcion, remito.Notas, remito.Estado); if (filasAFECTADAS > 0) { return(true); } return(false); }
// GET: Remitos/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Remito remito = db.Remitos.Find(id); if (remito == null) { return(HttpNotFound()); } return(View(remito)); }
private void btnGuardar_Click(object sender, EventArgs e) { if (listaDetalles.Count == 0) { MessageBox.Show("Debes ingresar al menos un producto"); return; } if (txtnumeroRemito.Text.Trim() == "" || cboCliente.Text.Trim() == "") { MessageBox.Show("Debes completar todos los campos"); return; } remitoNegocio negocio = new remitoNegocio(); detalleNegocio negociodetalle = new detalleNegocio(); tratamientoNegocio negociotratamiento = new tratamientoNegocio(); try { if (remitoLocal == null) { remitoLocal = new Remito(); remitoLocal.fecha = dtpRemito.Value; remitoLocal.numeroRemito = txtnumeroRemito.Text; remitoLocal.cliente = (Cliente)cboCliente.SelectedItem; remitoLocal.estado = "No facturado"; remitoLocal.activo = true; } negocio.agregarRemito(remitoLocal); foreach (Detalle item in listaDetalles) { if (item.numeroCertificado == null) { negociodetalle.agregarDetalles(item, txtnumeroRemito.Text); } if (item.numeroCertificado != null) { negociodetalle.agregarDetalles(item, txtnumeroRemito.Text, item.numeroCertificado); negociotratamiento.modificarCertificado(item.numeroCertificado, item.cantidadVendida); } } this.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
// GET: Remitos/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Remito remito = db.Remitos.Find(id); if (remito == null) { return(HttpNotFound()); } ViewBag.pedidoId = new SelectList(db.Pedidos, "id", "id", remito.pedidoId); return(View(remito)); }
public static List <Remito> Listar(Enumeraciones.Enumeraciones.ColumnasDocumentosComerciales pOrden) { List <Remito> lstRemitos = new List <Remito>(); ViewRemitosTableAdapter objTableAdapter = new ViewRemitosTableAdapter(); objTableAdapter.Connection.ConnectionString = BaseDatos.StringConexion; try { DataSetIntegrador.ViewRemitosDataTable objDataTable = null; switch (pOrden) { case Enumeraciones.Enumeraciones.ColumnasDocumentosComerciales.Cliente: objDataTable = objTableAdapter.GetData(); break; case Enumeraciones.Enumeraciones.ColumnasDocumentosComerciales.FechaAscendente: objDataTable = objTableAdapter.GetDataOrderByFechaAsc(); break; case Enumeraciones.Enumeraciones.ColumnasDocumentosComerciales.FechaDescendente: objDataTable = objTableAdapter.GetDataOrderByFechaDesc(); break; default: throw new Exception("Parámetro inválido."); } foreach (DataSetIntegrador.ViewRemitosRow objRow in objDataTable) { Remito objRemito = new Remito(); objRemito.Id = objRow.Id; objRemito.FechaEntrega = objRow.FechaEntrega; objRemito.Numero = objRow.Numero; objRemito.Fecha = objRow.Fecha; objRemito.Cliente = objRow.Cliente; objRemito.Direccion = objRow.Direccion; objRemito.CondicionIVA = objRow.CondicionIVA; objRemito.CondicionVenta = objRow.CondicionVenta; objRemito.Detalle = ListarItems(objRow.Id); lstRemitos.Add(objRemito); } } catch (Exception ex) { throw new Exception(ex.Message); } return(lstRemitos); }
public void eliminarRemito(Remito modificar) { AccesoDatosManager accesoDatos = new AccesoDatosManager(); try { modificar.activo = false; accesoDatos.setearConsulta("update Remitos Set activo=@ACTIVO Where numeroRemito=" + modificar.numeroRemito.ToString()); accesoDatos.Comando.Parameters.Clear(); accesoDatos.Comando.Parameters.AddWithValue("@ACTIVO", modificar.activo); accesoDatos.abrirConexion(); accesoDatos.ejecutarAccion(); } catch (Exception ex) { throw ex; } finally { accesoDatos.cerrarConexion(); } }
public void modificarRemitos(Remito modificar, string numeroFactura, string estado) { AccesoDatosManager accesoDatos = new AccesoDatosManager(); try { accesoDatos.setearConsulta("update REMITOS Set numeroFactura=@numeroFactura,estado=@estado Where numeroRemito=" + modificar.numeroRemito); accesoDatos.Comando.Parameters.Clear(); accesoDatos.Comando.Parameters.AddWithValue("@numeroFactura", numeroFactura); accesoDatos.Comando.Parameters.AddWithValue("@estado", estado); accesoDatos.abrirConexion(); accesoDatos.ejecutarAccion(); } catch (Exception ex) { throw ex; } finally { accesoDatos.cerrarConexion(); } }
private void ActualizarItem(DetalleRemito item, int hospitalId, Remito remito) { StockFarmacia insumo = db.StockFarmacias.Where(p => p.hospitalId == hospitalId && p.insumoId == item.insumoId).First(); if (insumo != null) { insumo.stockFarmacia = insumo.stockFarmacia + item.cantidadEntregada; db.Entry(insumo).State = EntityState.Modified; agregarHistoricoFarmacia(item, insumo.stockFarmacia, remito, hospitalId); } else { var newStock = new StockFarmacia(); newStock.hospitalId = hospitalId; newStock.insumoId = item.insumoId; newStock.stockFarmacia = item.cantidadEntregada; db.StockFarmacias.Add(newStock); agregarHistoricoFarmacia(item, insumo.stockFarmacia, remito, hospitalId); } }
public void modificarRemito(Remito modificar) { AccesoDatosManager accesoDatos = new AccesoDatosManager(); try { accesoDatos.setearConsulta("update REMITOS Set id=@idCliente cuit=@CUIT, fecha=@fechaRemito, numeroRemito=@numeroRemito Where Id=" + modificar.id.ToString()); accesoDatos.Comando.Parameters.Clear(); accesoDatos.Comando.Parameters.AddWithValue("@idCliente", modificar.cliente.id); accesoDatos.Comando.Parameters.AddWithValue("@fechaRemito", modificar.fecha.ToString("MM-dd-yyyy")); accesoDatos.Comando.Parameters.AddWithValue("@numeroRemito", modificar.numeroRemito); accesoDatos.abrirConexion(); accesoDatos.ejecutarAccion(); } catch (Exception ex) { throw ex; } finally { accesoDatos.cerrarConexion(); } }
private void toolStripButtonCerrarVenta_Click(object sender, EventArgs e) { if (ClienteSeleccionado != null && this.dataGridViewPedido.RowCount > 0) { Factura objFactura = new Factura(); objFactura.Tipo = Properties.Settings.Default.TipoFactura; objFactura.Numero = this.NumeroFactura(); objFactura.Fecha = DateTime.Now.Date; objFactura.Cliente = this.labelNombreClienteSeleccionado.Text; objFactura.Direccion = this.labelDireccionClienteSeleccionado.Text; objFactura.CondicionIVA = this.comboBoxCondicionIVA.Text; objFactura.CondicionVenta = this.comboBoxCondicionVenta.Text; objFactura.Detalle = admCompras.Items; Remito objRemito = new Remito(); objRemito.Numero = this.NumeroRemito(); objRemito.Fecha = DateTime.Now.Date; objRemito.FechaEntrega = DateTime.Now.Date.AddDays(2); objRemito.Cliente = this.labelNombreClienteSeleccionado.Text; objRemito.Direccion = this.labelDireccionClienteSeleccionado.Text; objRemito.CondicionIVA = this.comboBoxCondicionIVA.Text; objRemito.CondicionVenta = this.comboBoxCondicionVenta.Text; objRemito.Detalle = admCompras.Items; admDocumentosComerciales.Generar(objFactura, objRemito); this.ActualizarNumerosDocumentosComerciales(); this.HabilitarPedido(false); admCompras.Cancelar(); this.dataGridViewPedido.DataSource = null; this.labelTotal.Text = "Total: " + admCompras.Total.ToString("c"); this.ListarFacturas(); this.ListarRemitos(); } else { MessageBox.Show("Debe seleccionar un cliente y al menos un producto antes de cerrar la venta.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
public ActionResult CargarRemito(Remito remito) { if (!db.Pedidos.Where(p => p.id.Equals(remito.pedidoId)).Any()) { string errorValue = "El numero de pedido ingresado no existe en el sistema."; var result = Content(JsonConvert.SerializeObject(new { error = errorValue }), "application/json; charset=utf-8"); HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; return(result); } var listaItems = db.DetallesPedido .Where(d => d.pedidoId == remito.pedidoId) .Select(x => new { insumoId = x.insumoId, cantAutorizada = x.cantidadAutorizada }).ToList(); if (listaItems.Count != remito.detallesRemito.Count) { string errorValue = "La cantidad de insumos ingresadas no corresponde con la cantidad de insumos pedidos."; var result = Content(JsonConvert.SerializeObject(new { error = errorValue }), "application/json; charset=utf-8"); HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; return(result); } remito.id = remito.pedidoId; remito.estadoId = 1; foreach (DetalleRemito detalle in remito.detallesRemito) { var item = listaItems.Find(l => l.insumoId == detalle.insumoId); if (item == null) { string errorValue = "El insumoId: " + detalle.insumoId + " no existe para el número de pedido ingresado."; var result = Content(JsonConvert.SerializeObject(new { error = errorValue }), "application/json; charset=utf-8"); HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; return(result); } else if (detalle.cantidadEntregada < 0) { string errorValue = "El insumoId: " + detalle.insumoId + " posee una canidad incorrecta."; var result = Content(JsonConvert.SerializeObject(new { error = errorValue }), "application/json; charset=utf-8"); HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; return(result); } detalle.remitoId = remito.id; } try { db.Remitos.Add(remito); db.SaveChanges(); ActualizarStockSiahConDetallesRemito(remito.id, remito.fechaEntregaEfectiva); ActualizarStockFarmacia(remito); ActualizarPedido(remito.pedidoId); string acceptValue = "La peticion fue exitosa."; var result = Content(JsonConvert.SerializeObject(new { message = acceptValue }), "application/json; charset=utf-8"); HttpContext.Response.StatusCode = (int)HttpStatusCode.Accepted; return(result); } catch (Exception e) { Console.WriteLine(e.StackTrace); string acceptValue = "El remito ya se encuentra cargado."; var result = Content(JsonConvert.SerializeObject(new { error = acceptValue }), "application/json; charset=utf-8"); HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(result); } }
private void agregarHistoricoFarmacia(DetalleRemito detalleRemito, int saldo, Remito remito, int hospitalId) { HistoricoFarmacia historicoFarmacia = new HistoricoFarmacia(); historicoFarmacia.insumoId = detalleRemito.insumoId; historicoFarmacia.hospitalId = hospitalId; historicoFarmacia.fechaMovimiento = DateTime.UtcNow; historicoFarmacia.descripcion = "Se recibió una entrega del ministerio. Remito número: " + remito.pedidoId; historicoFarmacia.saldo = saldo; historicoFarmacia.isNegative = false; historicoFarmacia.cantidad = detalleRemito.cantidadEntregada; db.HistoricoFarmacia.Add(historicoFarmacia); }
public List <Remito> getRemitos(bool sincronizado) { using (connection = new SqlConnection(connectionStringCrm)) { List <Remito> listado = new List <Remito>(); query = "sp_remitos_crm_tango"; command = new SqlCommand(query, connection); command.CommandType = CommandType.StoredProcedure; SqlParameter paramSincronizado = new SqlParameter(); paramSincronizado.ParameterName = "@Sincronizado"; paramSincronizado.SqlDbType = SqlDbType.Bit; paramSincronizado.SqlValue = sincronizado; command.Parameters.Add(paramSincronizado); try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Remito rem; if (listado.Exists(r => r.nroRemito.Equals(reader["NroRemito"]))) { if (!listado.Exists(r => r.movimientoEncId == Convert.ToInt32(reader["MovimientoEncId"]))) { rem = listado.FirstOrDefault(r => r.nroRemito.Equals(reader["NroRemito"])); rem.movimientoEncId = Convert.ToInt32(reader["MovimientoEncId"]); List <RemitoItem> items = getItems(Convert.ToInt32(reader["MovimientoEncID"])); //rem.total = 0; foreach (RemitoItem item in items) { rem.agregarItem(item); //rem.total = rem.total + (item.cantidad * item.precio); } } } else { rem = new Remito(); ClienteDao clienteDao = new ClienteDao(); rem.remitoId = Convert.ToInt32(reader["RemitoID"]); rem.movimientoEncId = Convert.ToInt32(reader["MovimientoEncId"]); rem.fecha = Convert.ToDateTime(reader["Fecha"]); rem.nroRemito = Convert.ToString(reader["NroRemito"]); rem.cliente = clienteDao.getCliente(Convert.ToInt32(reader["ClienteID"])); rem.items = getItems(Convert.ToInt32(reader["MovimientoEncID"])); foreach (RemitoItem item in rem.items) { //rem.total = rem.total + (item.cantidad * item.precio); } listado.Add(rem); } } return(listado); } catch (Exception ex) { throw ex; } } }
public static void Generar(Factura pFactura, Remito pRemito) { dbFacturas.Generar(pFactura); dbRemitos.Generar(pRemito); }
public frmagRemito(Remito remito) { InitializeComponent(); }
private void GrabarRemito() { try { //Crea Carpeta SystemDocumentsCooperativa. CreateFolder(); //Copia el Remito Electronico en dicha direccion. CopyFile(); var ordenVenta = Context.OrdenVenta .Where(x => x.Id == OrdenVentaId) .FirstOrDefault(); if (ordenVenta != null) { Remito remito; remito = new Remito(); remito.Id = Guid.NewGuid(); remito.NumOperacion = ordenVenta.NumOperacion; remito.NumOrden = ordenVenta.NumOrden; remito.ClienteId = ordenVenta.ClienteId; remito.FechaOrden = ordenVenta.Fecha; remito.FechaRemito = dpRemito.Value; remito.OrdenVentaId = ordenVenta.Id; remito.PuntoVenta = int.Parse(txtPuntoVenta.Text); remito.NumRemito = int.Parse(txtNumRemito.Text); remito.PathOrigin = path; string pathSystem = @"C:\SystemDocumentsCooperativa\RemitosElectronicos\" + txtNombrePdf.Text; remito.PathSystem = pathSystem; Context.Remito.Add(remito); Context.SaveChanges(); var orden = Context.OrdenVenta.Find(ordenVenta.Id); if (orden != null) { orden.Pendiente = false; Context.Entry(orden).State = EntityState.Modified; Context.SaveChanges(); var detalles = Context.OrdenVentaDetalle .Where(x => x.OrdenVentaId == ordenVenta.Id) .ToList(); foreach (var item in detalles) { for (long i = item.DesdeCaja.Value; i <= item.HastaCaja; i++) { var caja = Context.Caja .Where(x => x.Campaña == item.Campaña && x.ProductoId == item.ProductoId && x.NumeroCaja == i) .FirstOrDefault(); UpdateMovimientoActual(caja.Id); RegistrarMovimiento(caja.Id, 1, remito.FechaRemito.Value); } } } IEnlaceActualizar mienlace = this.Owner as Form_AdministracionRemitoElectronico; if (mienlace != null) { mienlace.Enviar(true); } this.Close(); } } catch { throw; } }
static void Main(string[] args) { Console.WriteLine("Fase 01" + Environment.NewLine); Categoria objCategoria = null; Categoria objSubCategoria = null; DatosContacto objDatosContactoProveedor = null; DatosContacto objDatosContactoProveedorPersonaContacto = null; Persona objPersonaContactoProveedor = null; Empresa objProveedor = null; Producto objProducto = null; DatosContacto objDatosContactoClienteIndividuo = null; ClienteIndividuo objClienteIndividuo = null; DatosContacto objDatosContactoClienteEmpresa = null; DatosContacto objDatosContactoClienteEmpresaPersonaContacto = null; Persona objPersonaContactoClienteEmpresa = null; Empresa objClienteEmpresa = null; DatosContacto objDatosContactoVendedor = null; Vendedor objVendedor = null; Item objItem = null; Factura objFactura = null; Remito objRemito = null; try { objCategoria = new Categoria("Categoria A"); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objSubCategoria = new Categoria("Subcategoria A"); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objDatosContactoProveedor = new DatosContacto("*****@*****.**", "123456789012345", "Pasaje Acme 1. Ciudad Desierta."); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objDatosContactoProveedorPersonaContacto = new DatosContacto("*****@*****.**", "123456789012340", "Pasaje Acme 1. Ciudad Desierta."); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objPersonaContactoProveedor = new Persona("Marta", "González", objDatosContactoProveedorPersonaContacto); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objProveedor = new Empresa("Acme", "12345678901", objPersonaContactoProveedor, objDatosContactoProveedor); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { Producto.IVA = .21; } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objProducto = new Producto("Producto A", "Descripcion del producto A.", 10, .25, objProveedor, objCategoria, objSubCategoria); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } Console.WriteLine("Producto" + Environment.NewLine); Console.WriteLine("Nombre: {0}", objProducto.Nombre); Console.WriteLine("Descripción: {0}", objProducto.Descripcion); Console.WriteLine("Precio de costo: {0}", objProducto.PrecioCosto.ToString("c")); Console.WriteLine("Margen: {0}", objProducto.Margen.ToString("p")); Console.WriteLine("I.V.A.: {0}", Producto.IVA.ToString("p")); Console.WriteLine("Precio bruto: {0}", objProducto.PrecioBruto.ToString("c")); Console.WriteLine("Precio venta: {0}", objProducto.PrecioVenta.ToString("c")); Console.WriteLine("Proveedor: {0}", objProducto.Proveedor.Nombre); Console.WriteLine("Categoria: {0}", objProducto.Categoria.Nombre); Console.WriteLine("Categoria: {0}", objProducto.SubCategoria.Nombre); Pausa(); Console.WriteLine("Proveedor" + Environment.NewLine); Console.WriteLine("Nombre: {0}", objProveedor.Nombre); Console.WriteLine("CUIT: {0}", objProveedor.CUIT); Console.WriteLine("Contacto: {0} {1}", objProveedor.Contacto.Nombre, objProveedor.Contacto.Apellido); Console.WriteLine("Email: {0}", objProveedor.DatosContacto.Email); Console.WriteLine("Teléfono: {0}", objProveedor.DatosContacto.Telefono); Console.WriteLine("Dirección: {0}", objProveedor.DatosContacto.Direccion); Pausa(); try { objDatosContactoClienteIndividuo = new DatosContacto("*****@*****.**", "987654321098765", "Av. de los Pérez 1."); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objClienteIndividuo = new ClienteIndividuo("Juan", "Pérez", "09876543210", objDatosContactoClienteIndividuo); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } Console.WriteLine("Cliente individuo" + Environment.NewLine); Console.WriteLine("Nombre: {0}", objClienteIndividuo.Nombre); Console.WriteLine("Apellido: {0}", objClienteIndividuo.Apellido); Console.WriteLine("CUIT: {0}", objClienteIndividuo.CUIT); Console.WriteLine("Email: {0}", objClienteIndividuo.DatosContacto.Email); Console.WriteLine("Teléfono: {0}", objClienteIndividuo.DatosContacto.Telefono); Console.WriteLine("Dirección: {0}", objClienteIndividuo.DatosContacto.Direccion); Pausa(); try { objDatosContactoClienteEmpresa = new DatosContacto("*****@*****.**", "789012345678901", "Los Hernández 10. Ciudad Poblada."); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objDatosContactoClienteEmpresaPersonaContacto = new DatosContacto("*****@*****.**", "890123456789012", "Los Hernández 10."); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objPersonaContactoClienteEmpresa = new Persona("Pedro", "Hernández", objDatosContactoClienteEmpresaPersonaContacto); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objClienteEmpresa = new Empresa("Emca", "13256834500", objPersonaContactoClienteEmpresa, objDatosContactoClienteEmpresa); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } Console.WriteLine("Cliente empresa" + Environment.NewLine); Console.WriteLine("Nombre: {0}", objClienteEmpresa.Nombre); Console.WriteLine("CUIT: {0}", objClienteEmpresa.CUIT); Console.WriteLine("Contacto: {0} {1}", objClienteEmpresa.Contacto.Nombre, objClienteEmpresa.Contacto.Apellido); Console.WriteLine("Email: {0}", objClienteEmpresa.DatosContacto.Email); Console.WriteLine("Teléfono: {0}", objClienteEmpresa.DatosContacto.Telefono); Console.WriteLine("Dirección: {0}", objClienteEmpresa.DatosContacto.Direccion); Pausa(); try { objDatosContactoVendedor = new DatosContacto("*****@*****.**", "345685123465543", "Av. de las Capitales 1979. Piso 1."); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } try { objVendedor = new Vendedor("José", "Mercado", "37363448", objDatosContactoVendedor); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } Console.WriteLine("Cliente vendedor" + Environment.NewLine); Console.WriteLine("Nombre: {0}", objVendedor.Nombre); Console.WriteLine("Contacto: {0}", objVendedor.Apellido); Console.WriteLine("DNI: {0}", objVendedor.DNI); Console.WriteLine("Email: {0}", objVendedor.DatosContacto.Email); Console.WriteLine("Teléfono: {0}", objVendedor.DatosContacto.Telefono); Console.WriteLine("Dirección: {0}", objVendedor.DatosContacto.Direccion); Pausa(); try { objItem = new Item(1, objProducto.Nombre, Convert.ToDecimal(15.15)); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } List <Item> lstDetalle = new List <Item>(); lstDetalle.Add(objItem); try { objFactura = new Factura("C", "0001-00000001", DateTime.Now, "Juan Pérez", "Av. de los Pérez 1", "Resp. Insc.", "Contado", lstDetalle); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } Console.WriteLine("Factura" + Environment.NewLine); Console.WriteLine("Tipo: {0}", objFactura.Tipo); Console.WriteLine("Número: {0}", objFactura.Numero); Console.WriteLine("Cliente: {0}", objFactura.Cliente); Console.WriteLine("Dirección: {0}", objFactura.Direccion); Console.WriteLine("Condición frente al I.V.A.: {0}", objFactura.CondicionIVA); Console.WriteLine("Condiciones de venta: {0}", objFactura.CondicionVenta); foreach (Item objDetalleItem in objFactura.Detalle) { Console.WriteLine("Detalle: {0} {1}. Precio unitario: {2}. Importe {3}.", objItem.Cantidad, objItem.Descripcion, objItem.PrecioUnitario, objItem.Importe); } Console.WriteLine("Total: {0}", objFactura.Total); Pausa(); try { objRemito = new Remito("0001-00000001", DateTime.Now, "Juan Pérez", "Av. de los Pérez 1", "Resp. Insc.", "Contado", lstDetalle, DateTime.Now.AddDays(1)); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } Console.WriteLine("Remito" + Environment.NewLine); Console.WriteLine("Número: {0}", objRemito.Numero); Console.WriteLine("Fecha: {0}", objRemito.Fecha.ToShortDateString()); Console.WriteLine("Cliente: {0}", objRemito.Cliente); Console.WriteLine("Dirección: {0}", objRemito.Direccion); Console.WriteLine("Condición frente al I.V.A.: {0}", objRemito.CondicionIVA); Console.WriteLine("Condiciones de venta: {0}", objRemito.CondicionVenta); foreach (Item objDetalleItem in objRemito.Detalle) { Console.WriteLine("Detalle: {0} {1}. Precio unitario: {2}. Importe {3}.", objItem.Cantidad, objItem.Descripcion, objItem.PrecioUnitario, objItem.Importe); } Console.WriteLine("Total: {0}", objRemito.Total); Console.WriteLine("Fecha de entrega: {0}", objRemito.FechaEntrega.ToShortDateString()); Console.Write(Environment.NewLine + "Pulsar una tecla para terminar..."); Console.ReadKey(); }
public static void Generar(Remito pRemito) { string SQL = string.Empty; SqlConnection objConexion = null; SqlCommand objCommandDocumentoComercial = null; SqlCommand objCommandRemito = null; SqlCommand objCommandItem = null; SqlCommand objCommandRemitosItems = null; SqlTransaction objTransaction = null; try { objConexion = new SqlConnection(BaseDatos.StringConexion); } catch (Exception ex) { throw new Exception(ex.Message); } SQL = "INSERT INTO DocumentosComerciales (Numero, Fecha, Cliente, Direccion, CondicionIVA, CondicionVenta)"; SQL = SQL + " " + "VALUES(@Numero, @Fecha, @Cliente, @Direccion, @CondicionIVA, @CondicionVenta)"; SQL = SQL + ";" + "SELECT SCOPE_IDENTITY()"; objCommandDocumentoComercial = new SqlCommand(SQL, objConexion); SqlParameter objNumero = new SqlParameter("@Numero", pRemito.Numero); SqlParameter objFecha = new SqlParameter("@Fecha", pRemito.Fecha.Date.ToString("yyyyMMdd")); SqlParameter objCliente = new SqlParameter("@Cliente", pRemito.Cliente); SqlParameter objDireccion = new SqlParameter("@Direccion", pRemito.Direccion); SqlParameter objCondicionIVA = new SqlParameter("@CondicionIVA", pRemito.CondicionIVA); SqlParameter objCondicionVenta = new SqlParameter("@CondicionVenta", pRemito.CondicionVenta); objCommandDocumentoComercial.Parameters.Add(objNumero); objCommandDocumentoComercial.Parameters.Add(objFecha); objCommandDocumentoComercial.Parameters.Add(objCliente); objCommandDocumentoComercial.Parameters.Add(objDireccion); objCommandDocumentoComercial.Parameters.Add(objCondicionIVA); objCommandDocumentoComercial.Parameters.Add(objCondicionVenta); SQL = "INSERT INTO Remitos (Id_DocumentoComercial, FechaEntrega)"; SQL = SQL + " " + "VALUES(@Id_DocumentoComercial, @FechaEntrega)"; SQL = SQL + ";" + "SELECT SCOPE_IDENTITY()"; objCommandRemito = new SqlCommand(SQL, objConexion); SqlParameter objId_DocumentoComercial = new SqlParameter("@Id_DocumentoComercial", null); SqlParameter objFechaEntrega = new SqlParameter("@FechaEntrega", pRemito.Fecha.Date.ToString("yyyyMMdd")); objCommandRemito.Parameters.Add(objId_DocumentoComercial); objCommandRemito.Parameters.Add(objFechaEntrega); SQL = "INSERT INTO Items (Cantidad, Descripcion, PrecioUnitario, Importe)"; SQL = SQL + " " + "VALUES(@Cantidad, @Descripcion, @PrecioUnitario, @Importe)"; SQL = SQL + ";" + "SELECT SCOPE_IDENTITY()"; objCommandItem = new SqlCommand(SQL, objConexion); SqlParameter objCantidad = new SqlParameter("@Cantidad", null); SqlParameter objDescripcion = new SqlParameter("@Descripcion", null); SqlParameter objPrecioUnitario = new SqlParameter("@PrecioUnitario", null); SqlParameter objImporte = new SqlParameter("@Importe", null); objCommandItem.Parameters.Add(objCantidad); objCommandItem.Parameters.Add(objDescripcion); objCommandItem.Parameters.Add(objPrecioUnitario); objCommandItem.Parameters.Add(objImporte); SQL = "INSERT INTO RemitosItems (ID_Remito, Id_Item)"; SQL = SQL + " " + "Values(@Id_Remito, @Id_Item)"; objCommandRemitosItems = new SqlCommand(SQL, objConexion); SqlParameter objId_Remito = new SqlParameter("@Id_Remito", null); SqlParameter objId_Item = new SqlParameter("@Id_item", null); objCommandRemitosItems.Parameters.Add(objId_Remito); objCommandRemitosItems.Parameters.Add(objId_Item); try { objConexion.Open(); objTransaction = objConexion.BeginTransaction(); objCommandDocumentoComercial.Transaction = objTransaction; objCommandRemito.Transaction = objTransaction; objCommandItem.Transaction = objTransaction; objCommandRemitosItems.Transaction = objTransaction; objId_DocumentoComercial.Value = Convert.ToInt32(objCommandDocumentoComercial.ExecuteScalar()); objId_Remito.Value = Convert.ToInt32(objCommandRemito.ExecuteScalar()); foreach (Item Item in pRemito.Detalle) { objCantidad.Value = Item.Cantidad; objDescripcion.Value = Item.Descripcion; objPrecioUnitario.Value = Item.PrecioUnitario; objImporte.Value = Item.Importe; objId_Item.Value = Convert.ToInt32(objCommandItem.ExecuteScalar()); objCommandRemitosItems.ExecuteNonQuery(); } objTransaction.Commit(); } catch (Exception ex) { objTransaction.Rollback(); throw new Exception(ex.Message); } finally { objConexion.Close(); } }
public void GenerarXMLRemito(Remito xR, int xNumero, Empresa Claves, CajaGeneral xCaja, bool xImprimir) { Remito R = (Remito)xR; //XmlTextWriter Writer = new XmlTextWriter(xCaja.EntradaCFE.Trim() + xR.Serie + xR.Numero + ".xml", Encoding.UTF8); XmlTextWriter Writer = new XmlTextWriter(xCaja.TemporalCFE.Trim() + xR.Serie + xNumero + ".xml", Encoding.UTF8); Writer.WriteStartDocument(); Writer.WriteStartElement("EnvioCFE"); Writer.WriteStartElement("Encabezado"); Writer.WriteStartElement("EmpCodigo"); Writer.WriteString(Claves.CodEmpresa.ToString()); Writer.WriteEndElement(); Writer.WriteStartElement("EmpPK"); Writer.WriteString(Claves.EmpPK); Writer.WriteEndElement(); Writer.WriteStartElement("EmpCA"); Writer.WriteString(Claves.Clave.ToString()); Writer.WriteEndElement(); Writer.WriteEndElement(); Writer.WriteStartElement("CFE"); Writer.WriteStartElement("CFEItem"); Writer.WriteStartElement("IdDoc"); Writer.WriteStartElement("CFETipoCFE"); Writer.WriteValue(R.NumeroCFE()); Writer.WriteEndElement(); Writer.WriteStartElement("CFESerie"); Writer.WriteEndElement(); Writer.WriteStartElement("CFENro"); Writer.WriteEndElement(); Writer.WriteStartElement("CFEImpresora"); Writer.WriteString(xCaja.Impresora); Writer.WriteEndElement(); Writer.WriteStartElement("CFEImp"); if (xImprimir) { Writer.WriteString("S"); } else { Writer.WriteString("N"); } Writer.WriteEndElement(); Writer.WriteStartElement("CFEImpCantidad"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("CFEFchEmis"); Writer.WriteString(R.Fecha.ToString("yyyy-MM-dd")); Writer.WriteEndElement(); Writer.WriteStartElement("CFEPeriodoDesde"); Writer.WriteEndElement(); Writer.WriteStartElement("CFEPeriodoHasta"); Writer.WriteEndElement(); Writer.WriteStartElement("CFEMntBruto"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("CFEFmaPago"); // revisar aca/// Writer.WriteValue(1); //// Writer.WriteEndElement(); Writer.WriteStartElement("CFEFchVenc"); Writer.WriteString(DateTime.Today.ToShortDateString()); Writer.WriteEndElement(); Writer.WriteStartElement("CFETipoTraslado"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("CFEAdenda"); Writer.WriteString(R.Adenda()); Writer.WriteEndElement(); Writer.WriteStartElement("CAESeq"); Writer.WriteString("0"); Writer.WriteEndElement(); // Writer.WriteEndElement(); Writer.WriteStartElement("CFENumReferencia"); Writer.WriteValue(1); Writer.WriteEndElement(); //Writer.WriteEndElement(); Writer.WriteStartElement("CFEImpFormato"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("CFEIdCompra"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("CFEQrCode"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("CFEDatosAvanzados"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("CFERepImpresa"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteEndElement(); #region Emisor /* DATOS EMISOR */ Writer.WriteStartElement("Emisor"); Writer.WriteStartElement("EmiRznSoc"); Writer.WriteString("Ferreteria y Barraca Aguiñagalde"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiComercial"); Writer.WriteString("Hector B. Aguiñagalde"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiGiroEmis"); //'.WriteString("NI IDEA") Writer.WriteEndElement(); Writer.WriteStartElement("EmiTelefono"); Writer.WriteString("25106"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiTelefono2"); //'.WriteString("473 20501"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiCorreoEmisor"); Writer.WriteString("*****@*****.**"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiSucursal"); Writer.WriteString("1"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiDomFiscal"); Writer.WriteString("Barbieri 1080"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiCiudad"); Writer.WriteString("Salto"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiDepartamento"); Writer.WriteString("Salto"); Writer.WriteEndElement(); Writer.WriteStartElement("EmiInfAdicional"); Writer.WriteEndElement(); Writer.WriteEndElement(); #endregion #region Receptor Writer.WriteStartElement("Receptor"); Writer.WriteStartElement("RcpTipoDocRecep"); Writer.WriteValue(R.Cliente.TipoDocumento(R.IS.Codigo)); Writer.WriteEndElement(); Writer.WriteStartElement("RcpTipoDocDscRecep"); Writer.WriteString(""); Writer.WriteEndElement(); Writer.WriteStartElement("RcpCodPaisRecep"); Writer.WriteString("UY"); Writer.WriteEndElement(); Writer.WriteStartElement("RcpDocRecep"); Writer.WriteString(R.Cliente.Documento(R.IS.Codigo)); Writer.WriteEndElement(); //acordate aca porner el subcuenta de la bonificacion corresponditnete; //Writer.WriteValue(R.Cliente.Documento(0)); Writer.WriteStartElement("RcpRznSocRecep"); Writer.WriteString(R.Cliente.NombreSubCuenta(R.IS.Codigo)); Writer.WriteEndElement(); Writer.WriteStartElement("RcpDirRecep"); Writer.WriteString(R.Cliente.DireccionSubCuenta(R.IS.Codigo)); Writer.WriteEndElement(); Writer.WriteStartElement("RcpCiudadRecep"); Writer.WriteString("Salto"); Writer.WriteEndElement(); Writer.WriteStartElement("RcpDeptoRecep"); Writer.WriteString("Salto"); Writer.WriteEndElement(); Writer.WriteStartElement("RcpCP"); Writer.WriteString(""); Writer.WriteEndElement(); Writer.WriteStartElement("RcpCorreoRecep"); Writer.WriteString(R.Cliente.CamposLibres.Email); Writer.WriteEndElement(); Writer.WriteStartElement("RcpInfAdiRecep"); Writer.WriteString(""); Writer.WriteEndElement(); Writer.WriteStartElement("RcpDirPaisRecep"); Writer.WriteString(""); Writer.WriteEndElement(); Writer.WriteStartElement("RcpDstEntregaRecep"); Writer.WriteEndElement(); Writer.WriteStartElement("RcpEmlArchivos"); Writer.WriteValue(1); Writer.WriteEndElement(); // End If Writer.WriteEndElement(); #endregion #region Totales Writer.WriteStartElement("Totales"); Writer.WriteStartElement("TotTpoMoneda"); Writer.WriteString(R.Moneda.CFESubfijo()); Writer.WriteEndElement(); Writer.WriteStartElement("TotTpoCambio"); Writer.WriteValue(R.FactorMoneda); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntNoGrv"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntExpoyAsim"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntImpuestoPerc"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntIVaenSusp"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntNetoIvaTasaMin"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntNetoIVATasaBasica"); Writer.WriteValue(Math.Abs(R.TotalBruto())); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntNetoIVAOtra"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotIVATasaMin"); Writer.WriteValue(10); Writer.WriteEndElement(); Writer.WriteStartElement("TotIVATasaBasica"); Writer.WriteValue(22); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntIVATasaMin"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntIVATasaBasica"); Writer.WriteValue(Math.Abs((Math.Abs(R.Importe()) - Math.Abs(R.TotalBruto())))); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntIVAOtra"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntTotal"); Writer.WriteValue(Math.Abs(R.Importe())); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntTotRetenido"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntCreditoFiscal"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("RetencPercepTot"); Writer.WriteEndElement(); Writer.WriteStartElement("TotMontoNF"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("TotMntPagar"); Writer.WriteValue(Math.Abs(R.Importe())); Writer.WriteEndElement(); Writer.WriteEndElement(); #endregion Writer.WriteStartElement("Detalle"); foreach (LineaRemito L in R.Lineas) { Writer.WriteStartElement("Item"); Writer.WriteStartElement("CodItem"); Writer.WriteEndElement(); Writer.WriteStartElement("IteIndFact"); Writer.WriteValue(3); Writer.WriteEndElement(); Writer.WriteStartElement("IteIndAgenteResp"); Writer.WriteEndElement(); Writer.WriteStartElement("IteNomItem"); Writer.WriteString(L.Descripcion); Writer.WriteEndElement(); Writer.WriteStartElement("IteDscItem"); Writer.WriteEndElement(); Writer.WriteStartElement("IteCantidad"); Writer.WriteValue(Math.Abs(L.Unidadestotal)); Writer.WriteEndElement(); Writer.WriteStartElement("IteUniMed"); Writer.WriteString("C/U"); Writer.WriteEndElement(); Writer.WriteStartElement("ItePrecioUnitario"); Writer.WriteValue(Math.Abs(L.Total())); Writer.WriteEndElement(); Writer.WriteStartElement("IteDescuentoPct"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("IteDescuentoMonto"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("SubDescuento"); Writer.WriteEndElement(); Writer.WriteStartElement("RetencPercep"); Writer.WriteEndElement(); Writer.WriteStartElement("IteMontoItem"); Writer.WriteValue(Math.Abs(L.Total())); Writer.WriteEndElement(); Writer.WriteEndElement(); } Writer.WriteEndElement(); Writer.WriteStartElement("Referencia"); int Index = 0; if (R.CFE()) { while (Index < 39 && Index < R.Movimiento.Count) { MovimientoGeneral M = R.Movimiento[Index]; Writer.WriteStartElement("ReferenciaItem"); Writer.WriteStartElement("RefNroLinRef"); Writer.WriteValue(Index + 1); Writer.WriteEndElement(); Writer.WriteStartElement("RefIndGlobal"); Writer.WriteValue(0); Writer.WriteEndElement(); Writer.WriteStartElement("RefTpoDocRef"); Writer.WriteValue(M.CFE.Tipo); Writer.WriteEndElement(); Writer.WriteStartElement("RefSerie"); Writer.WriteString(M.CFE.Serie); Writer.WriteEndElement(); Writer.WriteStartElement("RefNroCFERef"); Writer.WriteValue(M.CFE.Numero); Writer.WriteEndElement(); Writer.WriteStartElement("RefRazonRef"); Writer.WriteEndElement(); Writer.WriteStartElement("RefFechaCFEref"); Writer.WriteString(M.Fecha.ToString("yyyy-MM-dd")); Writer.WriteEndElement(); Writer.WriteEndElement(); Index += 1; } } else { Writer.WriteStartElement("ReferenciaItem"); Writer.WriteStartElement("RefNroLinRef"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("RefIndGlobal"); Writer.WriteValue(1); Writer.WriteEndElement(); Writer.WriteStartElement("RefTpoDocRef"); Writer.WriteValue(R.NumeroCFE()); Writer.WriteEndElement(); Writer.WriteStartElement("RefSerie"); Writer.WriteEndElement(); Writer.WriteStartElement("RefNroCFERef"); Writer.WriteEndElement(); Writer.WriteStartElement("RefRazonRef"); Writer.WriteString("Documento a anular es un documento anterior al inicio de la facturacion electronica"); Writer.WriteEndElement(); Writer.WriteStartElement("RefFechaCFEref"); Writer.WriteString(R.Fecha.ToString("yyyy-MM-dd")); Writer.WriteEndElement(); Writer.WriteEndElement(); Index += 1; } Writer.WriteEndElement(); Writer.WriteEndElement(); Writer.WriteEndElement(); Writer.WriteEndDocument(); Writer.Close(); File.Move(xCaja.TemporalCFE.Trim() + xR.Serie + xNumero + ".xml", xCaja.EntradaCFE.Trim() + xR.Serie + xNumero + ".xml"); }