public IActionResult Comprar() { if (HttpContext.Session.GetString("user") != null) { var user = JsonConvert.DeserializeObject <WebTFG.Models.Usuario>(HttpContext.Session.GetString("user")); Session s = new Session(); s.get(user); s.getProperty(user, nameof(user.CarroCompra)); s.getProperty(user.CarroCompra, nameof(user.CarroCompra.Lineas)); s.getProperty(user, nameof(user.Facturas)); Factura f = new Factura(); var lineaOffset = 0; foreach (LineaCarro lc in user.CarroCompra.Lineas) { s.getProperty(lc, nameof(lc.Prod)); LineaFactura lf = new LineaFactura(lc.Cantidad, lc.Prod, lc.Prod.Nombre, lc.Prod.Precio); lf.IdLinea += lineaOffset; lineaOffset++; f.Lineas.Add(lf); user.Saldo -= lc.Prod.Precio * lc.Cantidad; s.delete(lc); } user.CarroCompra = null; user.Facturas.Add(f); s.update(user); return(RedirectToAction("Perfil", "Perfil")); } else { return(RedirectToAction("Inicio", "Inicio")); } }
public void CrearReservaMenu_TooLate() { // Arrange using (context) { var controller = new ReservaServiciosController(context); Menu menu = new Menu { idServicio = 1, horaInicio = new DateTime(2001, 12, 13, 13, 00, 00), horaFin = new DateTime(2001, 12, 13, 16, 00, 00) }; Habitacion habitacion = new Habitacion { numero = 101 }; LineaFactura linea = new LineaFactura { idLineaFactura = 1 }; DateTime hora = new DateTime(2016, 10, 20, 16, 00, 01); // Act ReservaServicio result = controller.CrearReservaMenu(menu, habitacion, linea, hora); //Assert Assert.Null(result); } }
public List <T> RetrieveAll <T>(BaseEntity entity) { var listaFacturas = new List <T>(); var lstResult = dao.ExecuteQueryProcedure(facturaMapper.GetRetriveAllStatement(entity)); var dic = new Dictionary <string, object>(); if (lstResult.Count > 0) { var objs = facturaMapper.BuildObjects(lstResult); foreach (var c in objs) { listaFacturas.Add((T)Convert.ChangeType(c, typeof(T))); } } var lineaFactura = new LineaFactura(); foreach (var f in listaFacturas) { var factura = (Factura)Convert.ChangeType(f, typeof(Factura)); lineaFactura.IdFactura = factura.Id; factura.LineasFactura = RetrieveLineasxFactura <LineaFactura>(lineaFactura).ToArray(); } return(listaFacturas); }
public void BorrarLineaFactura(LineaFactura lineaFactura) { Factura f = repoFacturas.BuscarUno(lineaFactura.Factura.Numero); f.BorraLineaFactura(lineaFactura); repoLineas.Borrar(lineaFactura); }
internal void AltaLineas(LineaFactura linea, int idFactura, SqlConnection conexion = null) { if (conexion == null) { conexion = new SqlConnection(Conexion.Cnn); } try { SqlCommand command = new SqlCommand(); command.Connection = conexion; command.CommandText = "AltaLineaFactura"; command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(new SqlParameter("@CodArt", linea.Articulo.Codigo)); command.Parameters.Add(new SqlParameter("@FacID", idFactura)); command.Parameters.Add(new SqlParameter("@Cantidad", linea.Cantidad)); command.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } }
private void button1_Click(object sender, EventArgs e) { Producto producto = new Producto(); byte byteCantidad; producto = productoNegocio.GetProducto(txtCodAgregar.Text); byte.TryParse(txtCantidadAgregar.Text, out byteCantidad); LineaFactura lineaFactura = new LineaFactura() { NumFacturaFk = 1, CodigoProducto = producto.Codigo, Cantidad = byteCantidad }; listaProductos.Add(lineaFactura); agregarLineaDGV(); String strTotal = calcularTotal() + ""; lbTotal.Text = strTotal.Substring(0, strTotal.Length - 2); txtCantidadAgregar.Text = "Cantidad"; txtCodAgregar.Text = "CodigoProdcuto"; }
public async Task <ActionResult> DeleteConfirmed(int id) { LineaFactura aux = new LineaFactura(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(_baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await client.GetAsync("api/LineaFactura/GetOneById/5?id=" + id); if (res.IsSuccessStatusCode) { var auxRes = res.Content.ReadAsStringAsync().Result; aux = JsonConvert.DeserializeObject <LineaFactura>(auxRes); } var myContent = JsonConvert.SerializeObject(aux); var buffer = Encoding.UTF8.GetBytes(myContent); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var postTask = client.PostAsync("api/LineaFactura/Delete", byteContent).Result; var result = postTask; if (result.IsSuccessStatusCode) { return(RedirectToAction("Index")); } } ModelState.AddModelError(string.Empty, "Server Error, Please contact administrator"); return(View(aux)); }
public async Task <IActionResult> Edit(int id, [Bind("idLineaFactura,precio")] LineaFactura lineaFactura) { if (id != lineaFactura.idLineaFactura) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(lineaFactura); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LineaFacturaExists(lineaFactura.idLineaFactura)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } return(View(lineaFactura)); }
private void ToolStripButtonInsertarClick(object sender, EventArgs e) { if (!DatosLineaValido()) { return; } ActualizarContadoresLineas(); Factura c = bsFactura.Current as Factura; LineaFactura nl = new LineaFactura { HorasEuros = Settings.Default.eurosXHora, KilometrosEuros = Settings.Default.eurosXKilometros, Concepto = string.Empty }; _current++; c.Lineas.Add(nl); bool activar = Convert.ToBoolean(c.Lineas.Count); gbLineas.Enabled = activar; HabilitarGenerar(activar); ActualizarContradoresLineasForm(); }
void bsLineas_AddingNew(object sender, AddingNewEventArgs e) { e.NewObject = new LineaFactura(); LineaFactura linea = e.NewObject as LineaFactura; linea.HorasEuros = Settings.Default.eurosXHora; linea.KilometrosEuros = Settings.Default.eurosXKilometros; }
public async Task <HttpResponse <LineaFactura> > PostLineaFacturaAsync(LineaFactura lineafactura) { ctx.LineasFactura.Add(lineafactura); await ctx.SaveChangesAsync(); var response = new HttpResponse <LineaFactura> { Status = HttpStatusCode.Created, Entity = lineafactura }; return(response); }
public async Task <IActionResult> Create([Bind("idLineaFactura,precio")] LineaFactura lineaFactura) { if (ModelState.IsValid) { _context.Add(lineaFactura); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(lineaFactura)); }
public void Borrar(LineaFactura lf) { using (SqlConnection conexion = GestionConexion.GetConexion()) { conexion.Open(); String sql = "delete from LineasFactura where numero = @Numero and facturas_numero = @Facturas_Numero"; SqlCommand comando = new SqlCommand(sql, conexion); comando.Parameters.AddWithValue("@Numero", lf.Numero); comando.Parameters.AddWithValue("@Facturas_Numero", lf.Factura.Numero); comando.ExecuteNonQuery(); } }
private void agregarLineas(int factura, List <LineaFactura> lineas) { foreach (var item in lineas) { LineaFactura lineaFactura = new LineaFactura() { Cantidad = item.Cantidad, CodigoProducto = item.CodigoProducto, NumFacturaFk = factura }; db.LineaFactura.Add(lineaFactura); } }
public void InsertarLineaFactura(LineaFactura lineaFactura) { Factura f = repoFacturas.BuscarUno(lineaFactura.Factura.Numero); if (f == null) { throw new Exception("No se ha encontrado la factura"); } if (f.LineasFactura.Contains(lineaFactura)) { throw new Exception("La linea de factura ya esta asignada"); } f.AddLineaFactura(lineaFactura); }
public void Insertar(LineaFactura lf) { using (SqlConnection conexion = GestionConexion.GetConexion()) { conexion.Open(); String sql = "insert into LineasFactura values(@Numero ,@Facturas_Numero, @Productos_Id,@Unidades)"; SqlCommand comando = new SqlCommand(sql, conexion); comando.Parameters.AddWithValue("@Numero", lf.Numero); comando.Parameters.AddWithValue("@Facturas_Numero", lf.Factura.Numero); comando.Parameters.AddWithValue("Productos_Id", lf.ProductoId); comando.Parameters.AddWithValue("@Unidades", lf.Unidades); comando.ExecuteNonQuery(); } }
public void Actualizar(LineaFactura lf) { using (SqlConnection conexion = GestionConexion.GetConexion()) { conexion.Open(); String sql = "update LineasFactura set productos_id = @Productos_Id, unidades = @Unidades where numero = @Numero and facturas_numero = @Facturas_Numero"; SqlCommand comando = new SqlCommand(sql, conexion); comando.Parameters.AddWithValue("@Numero", lf.Numero); comando.Parameters.AddWithValue("@Facturas_Numero", lf.Factura.Numero); comando.Parameters.AddWithValue("Productos_Id", lf.ProductoId); comando.Parameters.AddWithValue("@Unidades", lf.Unidades); comando.ExecuteNonQuery(); } }
public BaseEntity BuildObject(Dictionary <string, object> row) { var linea = new LineaFactura { Id = GetIntValue(row, DB_COL_ID), IdItem = GetIntValue(row, DB_COL_ID_ITEM), NombreItem = GetStringValue(row, DB_COL_NOMBRE_ITEM), CantidadItem = GetIntValue(row, DB_COL_CANTIDAD_ITEM), PrecioItem = GetDecimalValue(row, DB_COL_PRECIO_ITEM), Impuesto = GetDoubleValue(row, DB_COL_IMPUESTO), IdFactura = GetIntValue(row, DB_COL_ID_FACTURA) }; return(linea); }
public void CrearReservaMenu_HabitacionIsNull() { // Arrange using (context) { var controller = new ReservaServiciosController(context); Menu menu = new Menu(); LineaFactura linea = new LineaFactura(); DateTime hora = new DateTime(2016, 10, 20); // Act ReservaServicio result = controller.CrearReservaMenu(menu, null, linea, hora); //Assert Assert.Null(result); } }
public async Task <ActionResult> Create() { Factura aux = new Factura(); using (var client = new HttpClient()) { List <Producto> productos = new List <Producto>(); List <LineaFactura> lineas = new List <LineaFactura>(); aux.Encabezado = new EncabezadoFactura(); client.BaseAddress = new Uri(_baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage resUsuario = await client.GetAsync("api/Usuario/GetAll"); HttpResponseMessage resProducto = await client.GetAsync("api/Producto/GetAll"); if (resUsuario.IsSuccessStatusCode && resProducto.IsSuccessStatusCode) { var auxresUsuario = resUsuario.Content.ReadAsStringAsync().Result; var auxresProducto = resProducto.Content.ReadAsStringAsync().Result; List <Usuario> estudiantes = new List <Usuario>(); List <Usuario> usuarios = new List <Usuario>(); usuarios = JsonConvert.DeserializeObject <List <Usuario> >(auxresUsuario); foreach (var item in usuarios) { if (item.IdTipoUsuario == 3) { estudiantes.Add(item); } } ViewData["Usuarios"] = estudiantes; productos = JsonConvert.DeserializeObject <List <Producto> >(auxresProducto); aux.Productos = productos; foreach (Producto item in productos) { LineaFactura l = new LineaFactura { IdProducto = item.IdProducto }; lineas.Add(l); } aux.Lineas = lineas; } } return(View(aux)); }
public async Task <bool> CrearLineaMenu(Menu menu, int cantidad, Factura factura, Habitacion habitacion) { if (menu == null || cantidad <= 0 || factura == null || habitacion == null) { return(false); } bool poison = false; ReservaServiciosController rsc = new ReservaServiciosController(_context); LineaFactura lfaux; ReservaServicio rsaux; DateTime hora = SystemTime.Now(); List <LineaFactura> lfs = new List <LineaFactura>(); List <ReservaServicio> rss = new List <ReservaServicio>(); for (int i = 0; i < cantidad; i++) { lfaux = new LineaFactura { precio = menu.precio, Factura = factura }; _context.LineaFactura.Add(lfaux); rsaux = rsc.CrearReservaMenu(menu, habitacion, lfaux, hora); if (rsaux == null) { poison = true; break; } lfs.Add(lfaux); rss.Add(rsaux); } if (!poison) { await _context.SaveChangesAsync(); for (int i = 0; i < cantidad; i++) { lfaux = lfs[i]; rsaux = rss[i]; lfaux.ReservaServicio = rsaux; _context.LineaFactura.Update(lfaux); } await _context.SaveChangesAsync(); } return(!poison); }
public void setLineaFactura(ReservaServicio resserv, float precio, DateTime fechaIni, DateTime fechaFin, int numHabitacion) { int idFact; LineaFactura lfact = new LineaFactura(); FacturasController fc = new FacturasController(_context); idFact = fc.getNumeroFactura(numHabitacion, fechaIni, fechaFin); Factura factura = _context.Factura.SingleOrDefault(m => m.idFactura == idFact); lfact.precio = precio; lfact.ReservaServicio = resserv; lfact.Factura = factura; factura.LineasFactura.Add(lfact); _context.Factura.Update(factura); _context.Factura.SingleOrDefault(m => m.idFactura == idFact).LineasFactura.Add(lfact); _context.LineaFactura.Add(lfact); }
public void ActualizarContadoresLineas() { if (_current < 0) { return; } Factura c = bsFactura.Current as Factura; if (c == null) { return; } LineaFactura nl = c.Lineas[_current] as LineaFactura; Util.CopiarPropiedadesTipo(this, nl); }
private void ToolStripButtonEliminarClick(object sender, EventArgs e) { Factura c = bsFactura.Current as Factura; if (_current > -1) { LineaFactura act = c.Lineas[_current] as LineaFactura; c.Lineas.Remove(act); if (_current >= c.Lineas.Count) { _current = c.Lineas.Count - 1; } } ActualizarContradoresLineasForm(); }
public void ActualizarContradoresLineasForm() { Factura c = bsFactura.Current as Factura; if (c == null) { return; } toolStripTextBoxActual.Text = Convert.ToString(_current + 1); toolStripLabelTotal.Text = string.Format("de {0} líneas de factura", c.Lineas.Count); if (_current < 0) { return; } LineaFactura nl = c.Lineas[_current] as LineaFactura; Util.CopiarPropiedadesTipo(nl, this); }
public async Task <ActionResult> Edit(int?id) { LineaFactura aux = new LineaFactura(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(_baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage res = await client.GetAsync("api/LineaFactura/GetOneById/5?id=" + id); if (res.IsSuccessStatusCode) { var auxRes = res.Content.ReadAsStringAsync().Result; aux = JsonConvert.DeserializeObject <LineaFactura>(auxRes); } } return(View(aux)); }
public ActionResult Create(LineaFactura entidad) { using (var client = new HttpClient()) { client.BaseAddress = new Uri(_baseurl); var myContent = JsonConvert.SerializeObject(entidad); var buffer = Encoding.UTF8.GetBytes(myContent); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var postTask = client.PostAsync("api/LineaFactura/Insert", byteContent).Result; var result = postTask; if (result.IsSuccessStatusCode) { return(RedirectToAction("Index")); } } ModelState.AddModelError(string.Empty, "Server Error, Please contact administrator"); return(View(entidad)); }
public void CrearReservaMenu_InTime() { // Arrange using (context) { var controller = new ReservaServiciosController(context); Menu menu = new Menu { idServicio = 1, horaInicio = new DateTime(2001, 12, 13, 13, 00, 00), horaFin = new DateTime(2001, 12, 13, 16, 00, 00) }; Habitacion habitacion = new Habitacion { numero = 101 }; LineaFactura linea = new LineaFactura { idLineaFactura = 1 }; DateTime hora = new DateTime(2016, 10, 20, 13, 00, 01); ReservaServicio exResult = new ReservaServicio { Habitacion = habitacion, fechaInicio = new DateTime(2016, 10, 20, 13, 00, 00), fechaFin = new DateTime(2016, 10, 20, 16, 00, 00), LineaFactura = linea, Servicio = menu }; // Act ReservaServicio result = controller.CrearReservaMenu(menu, habitacion, linea, hora); //Assert Assert.IsType <ReservaServicio>(result); Assert.Equal(exResult, result, Comparer.Get <ReservaServicio>((rs1, rs2) => rs1.Habitacion.numero == rs2.Habitacion.numero && rs1.LineaFactura.idLineaFactura == rs2.LineaFactura.idLineaFactura && rs1.Servicio.idServicio == rs2.Servicio.idServicio && rs1.fechaInicio.Equals(rs2.fechaInicio) && rs1.fechaFin.Equals(rs2.fechaFin))); } }
private void facturarEstadia() { SqlConnection sqlConnection = Conexion.getSqlConnection(); SqlCommand cmd = new SqlCommand(); SqlDataReader reader; cmd.CommandText = "FACTURACION_Crear"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@idReserva", SqlDbType.Int).Value = codReserva; cmd.Parameters.Add("@formaPago", SqlDbType.Int).Value = formaDePago; cmd.Parameters.Add("@idCliente", SqlDbType.Int).Value = idCliente; cmd.Connection = sqlConnection; sqlConnection.Open(); try { reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { LineaFactura lineaFactura = new LineaFactura(reader); nro.Text = lineaFactura.nro.ToString(); codReserva2.Text = codReserva.ToString(); fecha.Text = lineaFactura.fecha; total.Text = lineaFactura.total.ToString(); lineas.Items.Add(lineaFactura); } } reader.Close(); } catch (SqlException se) { MessageBox.Show(se.Message, "Facturar Estadía"); } sqlConnection.Close(); }
public List <Factura> BuscarTodosConLineas() { using ( SqlConnection conexion = new SqlConnection(CadenaConexion())) { conexion.Open(); String sql = "select facturas.Numero as 'NumeroFactura', " + "Facturas.Concepto, LineaFacturas.numero as 'NumeroLinea', " + "unidades, producto_id from facturas inner join lineafacturas " + "on facturas.numero = lineafacturas.factura_numero"; SqlCommand comando = new SqlCommand(sql, conexion); SqlDataReader lector = comando.ExecuteReader(); List <Factura> listaFacturas = new List <Factura>(); while (lector.Read()) { Factura f = new Factura(Convert.ToInt32(lector["NumeroFactura"])); if (!listaFacturas.Contains(f)) { f.Concepto = lector["Concepto"].ToString(); listaFacturas.Add(f); } else { f = listaFacturas. Find((facturita) => facturita.Numero == Convert.ToInt32(lector["NumeroFactura"])); } LineaFactura linea = new LineaFactura(Convert.ToInt32(lector["NumeroLinea"]), f); linea.Unidades = Convert.ToInt32(lector["unidades"]); linea.Id = lector["producto_id"].ToString(); f.AddLinea(linea); /*lista.Add(new Factura(Convert.ToInt32(lector["numero"]), * lector["concepto"].ToString()));*/ } return(listaFacturas); } }