Exemple #1
0
        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);
        }
Exemple #4
0
        public void BorrarLineaFactura(LineaFactura lineaFactura)
        {
            Factura f = repoFacturas.BuscarUno(lineaFactura.Factura.Numero);

            f.BorraLineaFactura(lineaFactura);
            repoLineas.Borrar(lineaFactura);
        }
Exemple #5
0
        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";
        }
Exemple #7
0
        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));
        }
Exemple #8
0
        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();
        }
Exemple #10
0
        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;
        }
Exemple #11
0
        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);
        }
Exemple #12
0
        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);
     }
 }
Exemple #15
0
        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));
        }
Exemple #21
0
        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);
        }
Exemple #22
0
        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);
        }
Exemple #26
0
        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));
        }
Exemple #27
0
        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)));
     }
 }
Exemple #29
0
        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);
            }
        }