private void Respaldo() { try { List <PurchasesData> resp = new List <PurchasesData>(); foreach (var a in detalle) { resp.Add(new PurchasesData { IDProducto = a.IDProducto, Nombre = a.Nombre, Cantidad = a.Cantidad, Medida = a.Medida, Precio = Convert.ToDecimal(a.PrecioUnitario), Iva = a.Iva, IdMedida = a.IdMedida, Marca = a.Marca, CodBarras = a.CodBarras, SubTotal = Convert.ToDecimal(a.PrecioTotal), CalculoIva = Convert.ToDecimal(a.CalculoIva), Flete = a.Flete }); } var respaldo = new RespaldoCompra(); respaldo.IdCliente = cliente.IDCliente; respaldo.Detalle = resp; if (detalle.Count > 0) { File.Delete(archivoTmp); Stream stream = File.OpenWrite(archivoTmp); XmlSerializer xmlSer = new XmlSerializer(typeof(RespaldoCompra)); xmlSer.Serialize(stream, respaldo); stream.Close(); } else { File.Delete(archivoTmp); } } catch { } }
private void Recuperado() { if (System.IO.File.Exists(archivoTmp)) { if (XtraMessageBox.Show("Se encontro un temporal por cierre inesperado\ndesea continuar con el proceso anterior", "Informativo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var aux = File.ReadAllText(archivoTmp); XmlSerializer ser = new XmlSerializer(typeof(RespaldoCompra)); StringReader sr = new StringReader(aux); RespaldoCompra resp = (RespaldoCompra)ser.Deserialize(sr); cliente = new Repository <Cliente>().Find(x => x.IDCliente == resp.IdCliente); ChangeProveedor(cliente); foreach (var row in resp.Detalle) { detalle.Add(new PurchasesAbvance { //IDFactura= row.IDFactura, IDProducto = row.IDProducto, Nombre = row.Nombre, Cantidad = row.Cantidad, Medida = row.Medida, PrecioUnitario = Convert.ToSingle(row.Precio), Iva = row.Iva, CodBarras = row.CodBarras, IdMedida = row.IdMedida, Marca = row.Marca, Flete = row.Flete, //Ahorra = row.Cantidad }); } } } }