public async Task <string> PutDispositivoModelo(string id, DispositivoModelo dispositivoModelo) { if (id != dispositivoModelo.Modelo) { return("modelo invalido"); } if (_context.DispositivoModelo.Where(t => t.Modelo == id).Join(_context.DispositivoAdquirido, dmodel => dmodel.Modelo, dadquirido => dadquirido.Modelo, (dmodel, dadquirido) => new { dmodel, dadquirido }).Any()) { return("el dispositivo ya ha sido comprado"); } _context.Entry(dispositivoModelo).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DispositivoModeloExists(id)) { return("modelo no existente"); } else { return("datos invalidos"); } } return("dispositivo editado"); }
public async Task <string> PostDispositivoModelo(DispositivoModelo dispositivoModelo) { _context.DispositivoModelo.Add(dispositivoModelo); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (DispositivoModeloExists(dispositivoModelo.Modelo)) { return("Modelo existente"); } else { return("datos invalidos"); } } return("dispositivo creado"); }
public dynamic comprar(int idcliente, DispositivoSeVendeEn dispositivoSeVendeEn) { DispositivoAdquirido adquirido = new DispositivoAdquirido(); adquirido.Modelo = dispositivoSeVendeEn.ModeloDispotivo; adquirido = _context.DispositivoAdquirido.Add(adquirido).Entity; _context.SaveChanges(); Pedido pedido = new Pedido(); pedido.IdCliente = idcliente; pedido.Monto = dispositivoSeVendeEn.Precio; pedido.NSerieDispositivo = adquirido.NSerie; pedido = _context.Pedido.Add(pedido).Entity; _context.SaveChanges(); Factura factura = new Factura(); factura.Dia = DateTime.Now.Day; factura.Ano = DateTime.Now.Year; factura.Mes = DateTime.Now.Month; factura = _context.Factura.Add(factura).Entity; _context.SaveChanges(); PedidoFactura pedidoFactura = new PedidoFactura(); pedidoFactura.IdPedido = pedido.Id; pedidoFactura.NFactura = factura.NFactura; _context.PedidoFactura.Add(pedidoFactura); CertificadoGarantia certificado = new CertificadoGarantia(); DispositivoModelo modelo = _context.DispositivoModelo.Find(dispositivoSeVendeEn.ModeloDispotivo); Tipo tipo = _context.Tipo.Find(modelo.Tipo); certificado.NFactura = factura.NFactura; certificado.MesFinGarantia = DateTime.Now.AddMonths(tipo.TiempoDeGarantia).Month; certificado.AnoFinGarantia = DateTime.Now.AddMonths(tipo.TiempoDeGarantia).Year; certificado = _context.CertificadoGarantia.Add(certificado).Entity; _context.SaveChanges(); try { } catch (DbUpdateException) { if (DispositivoSeVendeEnExists(dispositivoSeVendeEn.CjDistribuidor)) { return(Conflict()); } else { throw; } } Dictionary <string, string> parametersFactura = new Dictionary <string, string>(); parametersFactura.Add("fechacompra", factura.Dia + "/" + factura.Mes + "/" + factura.Ano); parametersFactura.Add("nfactura", factura.NFactura + ""); parametersFactura.Add("tipo", tipo.Nombre); parametersFactura.Add("modelo", adquirido.Modelo); parametersFactura.Add("precio", dispositivoSeVendeEn.Precio + ""); facturaset ds = new facturaset();; DataTable t = ds.Tables.Add("Items"); DataRow r; t.Columns.Add("fechacompra", Type.GetType("System.String")); t.Columns.Add("nfactura", Type.GetType("System.String")); t.Columns.Add("tipo", Type.GetType("System.String")); t.Columns.Add("modelo", Type.GetType("System.String")); t.Columns.Add("precio", Type.GetType("System.String")); Debug.WriteLine("otro mas"); r = t.NewRow(); r["fechacompra"] = factura.Dia + "/" + factura.Mes + "/" + factura.Ano; r["nfactura"] = factura.NFactura + ""; r["tipo"] = tipo.Nombre; r["modelo"] = adquirido.Modelo; r["precio"] = dispositivoSeVendeEn.Precio + ""; t.Rows.Add(r); string nombrereportefactura = "Factura"; var stringfactura = GenerateReportAsync(nombrereportefactura, t); // var juan = File(stringfactura, System.Net.Mime.MediaTypeNames.Application.Octet, nombrereportefactura + ".pdf"); // SendIt(stringfactura, nombrereportefactura); Cliente cliente = _context.Cliente.Find(idcliente); garantiaset dsg = new garantiaset();; DataTable t2 = dsg.Tables.Add("Items"); DataRow r2; t2.Columns.Add("nombre", Type.GetType("System.String")); t2.Columns.Add("fechacompra", Type.GetType("System.String")); t2.Columns.Add("fechafin", Type.GetType("System.String")); t2.Columns.Add("nserie", Type.GetType("System.String")); t2.Columns.Add("tipo", Type.GetType("System.String")); t2.Columns.Add("modelo", Type.GetType("System.String")); t2.Columns.Add("marca", Type.GetType("System.String")); Debug.WriteLine("otro mas"); r2 = t2.NewRow(); r2["nombre"] = cliente.Nombre + " " + cliente.PrimerApellido + " " + cliente.SegundoApellido; r2["fechacompra"] = "" + factura.Dia + "/" + factura.Mes + "/" + factura.Ano; r2["fechafin"] = certificado.MesFinGarantia + "/" + certificado.AnoFinGarantia; r2["nserie"] = pedido.NSerieDispositivo + ""; r2["tipo"] = modelo.Tipo; r2["modelo"] = modelo.Modelo; r2["marca"] = modelo.Marca; t2.Rows.Add(r2); string nombrereportegarantia = "Garantia"; byte[] pdfcertificado = GenerateReportAsync(nombrereportegarantia, t2); // var file = File(pdfcertificado, System.Net.Mime.MediaTypeNames.Application.Octet, nombrereportegarantia + ".pdf"); enviaremail(stringfactura, pdfcertificado, cliente.Email); //Pdfs pdfs = new Pdfs(); //pdfs.pdf_factura = stringfactura; //pdfs.idcliente = idcliente; //pdfslista.Add(pdfs); // Debug.WriteLine(pdfslista.First(pdfs => pdfs.idcliente == idcliente).idcliente); return(new { pedido, factura, certificado }); }