示例#1
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");
            }
        }
示例#2
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;
            }
        }
示例#3
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");
        }
示例#4
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.";
            }
        }
示例#5
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.";
            }
        }
示例#6
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";
            }
        }