Example #1
0
        public void BuscarTest()
        {
            Ordene ordene = new Ordene();

            ordene = OrdenBLL.Buscar(1);
            Assert.IsNotNull(ordene);
        }
        public async Task <ActionResult <Ordene> > PostOrdene(Ordene ordene)
        {
            string res;

            try
            {
                _context.Ordenes.Add(ordene);
                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateException)
                {
                    if (OrdeneExists(ordene.OrdId))
                    {
                        return(Conflict());
                    }
                    else
                    {
                        throw;
                    }
                }
                res = "OK";
            }
            catch (Exception ex)
            {
                res = ex.Message;
            }
            return(Ok(res));

            //return CreatedAtAction("GetOrdene", new { id = ordene.OrdId }, ordene);
        }
Example #3
0
        protected void Aceptar_Orden(object sender, EventArgs e)
        {
            Button btn     = (Button)sender;
            int    idOrden = Int32.Parse(btn.CommandArgument);

            if (listaProceso.Items.Count() > 0)
            {
                lblMessage.Text = "Primero debe finalizar las ordenes en proceso.";
            }
            else
            {
                using (var db = new Entities1())
                {
                    Ordene orden = db.Ordenes.Where(x => x.Id == idOrden).First();

                    OrdenesEstado oe = new OrdenesEstado();
                    oe.fecha     = DateTime.Now;
                    oe.estado_id = 3;
                    orden.OrdenesEstados.Add(oe);

                    db.SaveChanges();
                }

                Response.Redirect("~/Mecanico/Ordenes.aspx");
            }
        }
        private static bool Insertar(Ordene ordene)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                //le sumamos la cantidad de productos adquiridos al inventario del producto
                foreach (var item in ordene.OrdenDetalles)
                {
                    var auxOrden = contexto.Productos.Find(item.ProductoId);
                    if (auxOrden != null)
                    {
                        auxOrden.Inventario += item.Cantidad;
                    }
                }
                contexto.Ordenes.Add(ordene);
                paso = contexto.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
 public override int add()
 {
     try
     {
         Ordene dataorden = new Ordene
         {
             CODIGO = order.Codigo,
             CODIGOSUPLIDOR = order.Codigosuplidor,
             CODIGOCLIENTE = order.Codigocliente,
             CODIGOVIAJE = order.Codigoviaje,
             FECHAORDEN = order.Fechaorden,
             FECHAENTREGA = order.Fechaentrega,
             MENSAJE = order.Mensaje,
             PO_NOMBRE = order.Po_box,
             CANTIDADCAJAS = order.Cantidad_cajas,
             PESOORDEN = order.Peso_orden,
             NOMBRERECIBIDOR = order.Nombrerecibidor,
         };
         Data.Ordenes.InsertOnSubmit(dataorden);
         Data.SubmitChanges();
         return 1;
     }
     catch (Exception exc) {
         Utils.logExceptionError(exc);
         return 0;
     }
 }
        public async Task <IActionResult> PutOrdene(int id, Ordene ordene)
        {
            if (id != ordene.OrdId)
            {
                return(BadRequest());
            }

            _context.Entry(ordene).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrdeneExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #7
0
 public ActionResult Crear(Ordene OrdenCli)
 {
     OrdenCli.OrdenId         = Guid.NewGuid();
     OrdenCli.OrdenesDetalles = Orden.OrdenesDetalles;
     db.Ordenes.Add(OrdenCli);
     db.SaveChanges();
     return(RedirectToAction("Lista"));
 }
Example #8
0
        public ActionResult DeleteConfirmed(int id)
        {
            Ordene ordene = db.Ordenes.Find(id);

            db.Ordenes.Remove(ordene);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #9
0
        public bool Crear(Ordene orden)
        {
            Orden.OrdenCodigo = orden.OrdenCodigo;
            Orden.OrdenTipo   = orden.OrdenTipo;

            db.Ordenes.Add(Orden);
            db.SaveChanges();
            return(true);
        }
        public async Task <int> ingresarCompra([FromBody] Ordene model)
        {
            var data = await db.Clientes.SingleOrDefaultAsync(x => x.Idusuario == model.Idcliente);

            model.Fechaorden = DateTime.Now;
            model.Idcliente  = data.Idcliente;
            db.Add(model);
            db.SaveChanges();
            return(model.Idorden);
        }
        private static bool Modificar(Ordene ordene)
        {
            bool     paso        = false;
            var      AuxAnterior = Buscar(ordene.OrdenId);
            Contexto contexto    = new Contexto();

            try
            {
                //aqui borro del detalle y disminuyo el producto devuelto en inventario
                foreach (var item in AuxAnterior.OrdenDetalles)
                {
                    var auxProducto = contexto.Productos.Find(item.ProductoId);
                    if (!ordene.OrdenDetalles.Exists(d => d.OrdenDetalleId == item.OrdenDetalleId))
                    {
                        if (auxProducto != null)
                        {
                            auxProducto.Inventario -= item.Cantidad;
                        }

                        contexto.Entry(item).State = EntityState.Deleted;
                    }
                }

                //aqui agrego lo nuevo al detalle
                foreach (var item in ordene.OrdenDetalles)
                {
                    var auxProducto = contexto.Productos.Find(item.ProductoId);
                    if (item.OrdenDetalleId == 0)
                    {
                        contexto.Entry(item).State = EntityState.Added;
                        if (auxProducto != null)
                        {
                            auxProducto.Inventario += item.Cantidad;
                        }
                    }
                    else
                    {
                        contexto.Entry(item).State = EntityState.Modified;
                    }
                }


                contexto.Entry(ordene).State = EntityState.Modified;
                paso = contexto.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
 public static bool Guardar(Ordene ordene)
 {
     if (!Existe(ordene.OrdenId))//si no existe insertamos
     {
         return(Insertar(ordene));
     }
     else
     {
         return(Modificar(ordene));
     }
 }
Example #13
0
 public ActionResult Edit([Bind(Include = "Num_orden,Fecha,Estado,ID_arti,Cantidad,ID_med,Unitario,Total,ID_prov")] Ordene ordene)
 {
     if (ModelState.IsValid)
     {
         db.Entry(ordene).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ID_arti = new SelectList(db.Articulos, "ID_arti", "Descripcion", ordene.ID_arti);
     ViewBag.ID_med  = new SelectList(db.Medidas, "ID_med", "Descripcion", ordene.ID_med);
     ViewBag.ID_prov = new SelectList(db.Proveedores, "ID_prov", "Nombre", ordene.ID_prov);
     return(View(ordene));
 }
Example #14
0
        // GET: Ordenes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ordene ordene = db.Ordenes.Find(id);

            if (ordene == null)
            {
                return(HttpNotFound());
            }
            return(View(ordene));
        }
Example #15
0
        protected void Pagar(object sender, EventArgs e)
        {
            int ordenID;

            if (Int32.TryParse(txtIdOrden.Text, out ordenID))
            {
                int metodoPago = Int32.Parse(ddMetodo.SelectedValue);

                if (metodoPago > 0)
                {
                    using (var db = new Entities1())
                    {
                        Ordene orden = db.Ordenes.Where(x => x.Id == ordenID).FirstOrDefault();

                        if (orden != null)
                        {
                            OrdenesEstado oe = new OrdenesEstado();
                            oe.fecha      = DateTime.Now;
                            oe.estado_id  = 5;
                            oe.usuario_id = User.Identity.GetUserId();
                            orden.OrdenesEstados.Add(oe);
                            orden.forma_pago = metodoPago;

                            db.SaveChanges();

                            //TODO: print ticket
                            lblError.Text    = "La orden fue abonada correctamente.";
                            lblError.Visible = true;
                        }
                        else
                        {
                            lblError.Text    = "Algo salio mal, lo sentimos.";
                            lblError.Visible = true;
                        }
                    }
                }
                else
                {
                    lblError.Text    = "Seleccione un metodo de pago";
                    lblError.Visible = true;
                }
            }
            else
            {
                lblError.Text    = "No hay una orden seleccionada";
                lblError.Visible = true;
            }
        }
Example #16
0
        // GET: Ordenes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ordene ordene = db.Ordenes.Find(id);

            if (ordene == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ID_arti = new SelectList(db.Articulos, "ID_arti", "Descripcion", ordene.ID_arti);
            ViewBag.ID_med  = new SelectList(db.Medidas, "ID_med", "Descripcion", ordene.ID_med);
            ViewBag.ID_prov = new SelectList(db.Proveedores, "ID_prov", "Nombre", ordene.ID_prov);
            return(View(ordene));
        }
Example #17
0
        public void GuardarTest()
        {
            Ordene orden = new Ordene();

            orden.OrdenId    = 0;
            orden.SuplidorId = 1;
            orden.Fecha      = DateTime.Now;
            orden.Monto      = 250;
            orden.OrdenDetalles.Add(new OrdenesDetalle
            {
                OrdenDetalleId = 0,
                OrdenId        = 0,
                ProductoId     = 1,
                Costo          = 250,
                Cantidad       = 1
            });
        }
Example #18
0
        protected void Terminar_Orden(object sender, EventArgs e)
        {
            Button btn     = (Button)sender;
            int    idOrden = Int32.Parse(btn.CommandArgument);

            using (var db = new Entities1())
            {
                Ordene orden = db.Ordenes.Where(x => x.Id == idOrden).First();

                OrdenesEstado oe = new OrdenesEstado();
                oe.fecha     = DateTime.Now;
                oe.estado_id = 4;
                orden.OrdenesEstados.Add(oe);

                db.SaveChanges();
            }

            Response.Redirect("~/Mecanico/Ordenes.aspx");
        }
Example #19
0
        protected void Guardar_Orden(object sender, EventArgs e)
        {
            if (serviciosElegidos.Count > 0)
            {
                using (var context = new Entities1())
                {
                    Ordene orden = new Ordene();
                    orden.fecha = DateTime.Now;

                    foreach (Servicio s in serviciosElegidos)
                    {
                        OrdenesServicio os = new OrdenesServicio();
                        os.servicio_id = s.Id;
                        orden.OrdenesServicios.Add(os);
                    }

                    Vehiculo vehiculo = context.Vehiculos.Where(x => x.patente == txtPatente.Text).FirstOrDefault();

                    if (vehiculo == null)
                    {
                        //El vehiculo no esta cargado
                        vehiculo           = new Vehiculo();
                        vehiculo.anio      = txtAnio.Text;
                        vehiculo.modelo_id = Int32.Parse(ddModelos.SelectedValue);
                        vehiculo.patente   = txtPatente.Text;

                        context.Vehiculos.Add(vehiculo);
                    }

                    Cliente clienteExistente = context.Clientes.Where(x => x.dni == txtDni.Text).FirstOrDefault();

                    if (clienteExistente == null)
                    {
                        //Es cliente nuevo
                        Cliente c = new Cliente();
                        c.nombre    = txtNombre.Text;
                        c.apellido  = txtApellido.Text;
                        c.dni       = txtDni.Text;
                        c.email     = txtEmail.Text;
                        c.telefono  = txtTelefono.Text;
                        c.direccion = txtDireccion.Text;

                        vehiculo.Cliente = c;
                    }
                    else
                    {
                        //Un cliente ya registrado agrega nuevo auto
                        vehiculo.Cliente = clienteExistente;
                    }

                    orden.Vehiculo = vehiculo;
                    orden.Cliente  = vehiculo.Cliente;

                    Button btn = (Button)sender;

                    if (btn.ID == btnPresupuesto.ID)
                    {
                        OrdenesEstado oe = new OrdenesEstado();
                        oe.estado_id  = 1;
                        oe.fecha      = DateTime.Now;
                        oe.usuario_id = User.Identity.GetUserId();
                        orden.OrdenesEstados.Add(oe);

                        context.Ordenes.Add(orden);
                        context.SaveChanges();

                        Response.Redirect("~/Operario/Presupuesto?id=" + orden.Id);
                    }
                    else
                    {
                        bool falta = false;
                        foreach (OrdenesServicio os in orden.OrdenesServicios)
                        {
                            int idServicio = os.servicio_id.Value;
                            if (Falta_Producto(idServicio, 1))
                            {
                                falta = true;
                            }
                        }

                        if (!falta)
                        {
                            OrdenesEstado oe = new OrdenesEstado();
                            oe.estado_id  = 1;
                            oe.fecha      = DateTime.Now;
                            oe.usuario_id = User.Identity.GetUserId();
                            orden.OrdenesEstados.Add(oe);

                            OrdenesEstado oe2 = new OrdenesEstado();
                            oe2.estado_id  = 2;
                            oe2.fecha      = DateTime.Now;
                            oe2.usuario_id = User.Identity.GetUserId();
                            orden.OrdenesEstados.Add(oe2);

                            int      idEmpleado = Int32.Parse(ddMecanicos.SelectedValue);
                            Empleado empleado   = context.Empleados.Where(x => x.Id == idEmpleado).First();

                            orden.mecanico_id = empleado.usuario_id;

                            context.Ordenes.Add(orden);
                            context.SaveChanges();

                            lblMessage2.Text = "Orden enviada a taller";
                        }
                        else
                        {
                            lblMessage2.Text = "Hay faltante de productos";
                        }
                    }
                }
            }
            else
            {
                lblMessage2.Text = "Debe seleccionar al menos un servicio.";
            }
        }
Example #20
0
        protected void Operar(object sender, EventArgs e)
        {
            int ordenID;

            if (Int32.TryParse(txtId.Text, out ordenID))
            {
                using (var db = new Entities1())
                {
                    Ordene orden = db.Ordenes.Where(x => x.Id == ordenID).FirstOrDefault();

                    if (orden != null)
                    {
                        Button btn = (Button)sender;

                        if (btn.ID == btnEntregar.ID)
                        {
                            OrdenesEstado oe = new OrdenesEstado();
                            oe.fecha      = DateTime.Now;
                            oe.estado_id  = 6;
                            oe.usuario_id = User.Identity.GetUserId();
                            orden.OrdenesEstados.Add(oe);

                            db.SaveChanges();

                            lblMessage.Text = "Operacion exitosa.";
                        }
                        else
                        {
                            if (ddMecanicos.SelectedIndex > 0)
                            {
                                bool falta = false;
                                foreach (OrdenesServicio os in orden.OrdenesServicios)
                                {
                                    int idServicio = os.servicio_id.Value;
                                    if (Falta_Producto(idServicio, 1))
                                    {
                                        falta = true;
                                    }
                                }

                                if (!falta)
                                {
                                    OrdenesEstado oe = new OrdenesEstado();
                                    oe.estado_id  = 2;
                                    oe.fecha      = DateTime.Now;
                                    oe.usuario_id = User.Identity.GetUserId();
                                    orden.OrdenesEstados.Add(oe);

                                    int      idEmpleado = Int32.Parse(ddMecanicos.SelectedValue);
                                    Empleado emp        = db.Empleados.Where(x => x.Id == idEmpleado).FirstOrDefault();

                                    orden.mecanico_id = emp.usuario_id;

                                    db.SaveChanges();

                                    lblMessage.Text = "Orden enviada a taller";
                                }
                                else
                                {
                                    lblMessage.Text = "Hay faltante de productos";
                                }
                            }
                            else
                            {
                                lblMessage.Text = "Debe seleccionar un mecanico.";
                            }
                        }
                    }
                    else
                    {
                        lblMessage.Text = "Algo salio mal, lo sentimos.";
                    }
                }
            }
            else
            {
                lblMessage.Text = "No hay una orden seleccionada";
            }
        }
Example #21
0
        protected void Buscar(object sender, EventArgs e)
        {
            divDatos.Visible    = false;
            divMecanico.Visible = false;
            btnTaller.Visible   = false;
            btnEntregar.Visible = false;

            String query = stringBusqueda.Text.Trim();

            if (!String.IsNullOrEmpty(query))
            {
                using (var db = new Entities1())
                {
                    int    nOrden;
                    Ordene orden = null;
                    if (Int32.TryParse(query, out nOrden))
                    {
                        orden = db.Ordenes.Where(x => x.Id == nOrden).FirstOrDefault();
                    }
                    else
                    {
                        orden = db.Ordenes.Where(x => x.Vehiculo.patente == query).OrderByDescending(x => x.Id).FirstOrDefault();
                    }

                    if (orden != null)
                    {
                        txtId.Text       = orden.Id.ToString("000000");
                        txtPatente.Text  = orden.Vehiculo.patente;
                        txtXCliente.Text = orden.Cliente.apellido + " " + orden.Cliente.nombre;
                        txtDni.Text      = orden.Cliente.dni;
                        divDatos.Visible = true;

                        int ultimoEstado = orden.OrdenesEstados.OrderByDescending(x => x.fecha).First().Estado.Id;

                        switch (ultimoEstado)
                        {
                        case 1:    //es presupuesto
                            btnTaller.Visible   = true;
                            btnEntregar.Visible = false;
                            divMecanico.Visible = true;
                            using (var context = new Entities1())
                            {
                                List <Empleado> mecanicos = new List <Empleado>();

                                foreach (var user in context.AspNetUsers)
                                {
                                    if (user.AspNetRoles.Any(x => x.Name == "Mecanico"))
                                    {
                                        List <Ordene> ordenesMecanico = context.Ordenes.Where(x => x.mecanico_id == user.Id).ToList();

                                        bool ocupado = false;
                                        foreach (var o in ordenesMecanico)
                                        {
                                            List <OrdenesEstado> estados = o.OrdenesEstados.OrderByDescending(x => x.fecha).ToList();

                                            Estado ue = estados.FirstOrDefault().Estado;

                                            if (ue.Id == 2 || ue.Id == 3)
                                            {
                                                ocupado = true;
                                            }
                                        }

                                        if (!ocupado)
                                        {
                                            Empleado emp = context.Empleados.Where(x => x.usuario_id == user.Id).FirstOrDefault();

                                            if (emp != null)
                                            {
                                                mecanicos.Add(emp);
                                            }
                                        }
                                    }
                                }

                                ddMecanicos.DataSource = mecanicos;
                                ddMecanicos.DataBind();
                            }
                            break;

                        case 2:    //esta asignada
                            lblMessage.Text = "La orden fue asignada y pronto estará en proceso";
                            break;

                        case 3:    //esta en proceso
                            lblMessage.Text = "La orden esta en proceso";
                            break;

                        case 4:    //esta finalizada
                            lblMessage.Text = "La orden se encuentra en proceso de pago";
                            break;

                        case 5:    //esta abonada
                            btnEntregar.Visible = true;
                            btnTaller.Visible   = false;
                            break;

                        case 6:    //esta retirada
                            lblMessage.Text = "El vehiculo ya fue entregado";
                            break;

                        default:
                            lblMessage.Text = "Lo sentimos, algo salió mal.";
                            break;
                        }
                    }
                    else
                    {
                        lblMessage.Text = "No se encontró una orden.";
                    }
                }
            }
        }
Example #22
0
        protected void Buscar(object sender, EventArgs e)
        {
            String query = stringBusqueda.Text.Trim();

            if (!String.IsNullOrEmpty(query))
            {
                using (var db = new Entities1())
                {
                    int    nOrden;
                    Ordene orden = null;
                    if (Int32.TryParse(query, out nOrden))
                    {
                        orden = db.Ordenes.Where(x => x.Id == nOrden).FirstOrDefault();
                    }
                    else
                    {
                        orden = db.Ordenes.Where(x => x.Vehiculo.patente == query).OrderByDescending(x => x.Id).FirstOrDefault();
                    }

                    if (orden != null)
                    {
                        int ultimoEstado = orden.OrdenesEstados.OrderByDescending(x => x.fecha).First().Estado.Id;

                        if (ultimoEstado == 4)
                        {
                            txtIdOrden.Text = orden.Id.ToString("000000");
                            txtPatente.Text = orden.Vehiculo.patente;
                            txtCliente.Text = orden.Cliente.apellido + " " + orden.Cliente.nombre;
                            txtDni.Text     = orden.Cliente.dni;

                            List <Servicio> servicios = new List <Servicio>();

                            foreach (OrdenesServicio os in orden.OrdenesServicios)
                            {
                                servicios.Add(os.Servicio);
                            }

                            float precioFinal = 0;
                            foreach (Servicio s in servicios)
                            {
                                precioFinal += Precio_Servicio(s.Id);
                            }

                            txtTotal.Text = precioFinal.ToString();

                            divDatos.Visible = true;
                        }
                        else if (ultimoEstado < 4)
                        {
                            lblError.Visible = true;
                            lblError.Text    = "La orden aùn no esta finalizada.";
                            BorrarDatos();
                        }
                        else
                        {
                            lblError.Visible = true;
                            lblError.Text    = "La orden ya fue abonada anteriormente.";
                            BorrarDatos();
                        }
                    }
                    else
                    {
                        lblError.Text    = "No se encontró una orden.";
                        lblError.Visible = true;
                        BorrarDatos();
                    }
                }
            }
        }
Example #23
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Params["id"] != null)
            {
                int id = Int32.Parse(Request.Params["id"]);
                using (var context = new Entities1())
                {
                    Ordene orden = context.Ordenes.Where(x => x.Id == id).FirstOrDefault();

                    if (orden != null)
                    {
                        lblCodigo.Text = "#" + orden.Id.ToString("000000");
                        lblFecha.Text  = "Fecha: " + ((DateTime)orden.fecha).ToShortDateString();

                        lblVehiculo.Text = "Patente: " + orden.Vehiculo.patente + " - Modelo: " + orden.Vehiculo.Modelo.nombre + " - Año: " + orden.Vehiculo.anio;

                        lblCliente.Text = orden.Cliente.apellido + ", " + orden.Cliente.nombre + " - DNI: " + orden.Cliente.dni;

                        lblVencimiento.Text += orden.fecha.Value.AddDays(15).ToShortDateString();

                        OrdenesEstado oe  = orden.OrdenesEstados.Where(x => x.estado_id == 1).First();
                        Empleado      emp = context.Empleados.Where(x => x.usuario_id == oe.usuario_id).FirstOrDefault();

                        if (emp != null)
                        {
                            string nombreEmpleado = emp.nombre + " " + emp.apellido;
                            lblOperario.Text += nombreEmpleado;
                        }

                        List <Servicio> servicios = new List <Servicio>();

                        foreach (OrdenesServicio os in orden.OrdenesServicios)
                        {
                            servicios.Add(os.Servicio);
                        }

                        listaServicios.DataSource = servicios;
                        listaServicios.DataBind();

                        float precioFinal = 0;
                        foreach (Servicio s in servicios)
                        {
                            precioFinal += Precio_Servicio(s.Id);
                        }

                        lblTotal.Text = precioFinal.ToString();
                    }
                    else
                    {
                        divPresupeusto.Visible = false;
                        divError.Visible       = true;
                        txtError.Text          = "Nº de orden no encontrado.";
                    }
                }
            }
            else
            {
                divPresupeusto.Visible = false;
                divError.Visible       = true;
                txtError.Text          = "Nº de orden no encontrado.";
            }
        }