Exemple #1
0
 public Factura()
 {
     cliente = new Cliente();
     reparacion = new Reparacion();
     iva = new Iva();
     colPagos = new ArrayList();
     ventarepuesto = new VentaRepuesto();
 }
        public Garantia()
        {
            reparacion = new Reparacion();
            fechagarantia = new DateTime();
            fechasistema = new DateTime();

            detalleCargas = new ArrayList();
            detalleRepuestos = new ArrayList();
            detalleTareas = new ArrayList();

            detalleCargasEliminadas = new ArrayList();
            detalleRepuestosEliminados = new ArrayList();
            detalleTareasEliminadas = new ArrayList();
        }
        private void frmGestionReparacion_Load(object sender, EventArgs e)
        {
            reparacion = new Reparacion();
            factura = new Factura();

            this.comboBoxBuscar.SelectedIndex = 0;
            //INICIALIZAMOS LOS CONTROLES DATETIMEPICKER
            //Seleccionamos el 1er dia del mes
            this.dateTimePickerInicio.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);

            //Seleccionamos el ultimo dia del mes
            DateTime fechaaaaa = new DateTime(DateTime.Now.Year, DateTime.Now.Month+1 ,1);

            this.dateTimePickerFin.Value = fechaaaaa.AddDays(-1);
        }
        /// <summary>
        /// Presupuesto listado igual a un estado
        /// </summary>
        /// <param name="fechaInicio"></param>
        /// <param name="fechaFin"></param>
        /// <returns></returns>
        public ArrayList coleccionPresupuesto(string fechaInicio, string fechaFin)
        {
            string SQL_p;
            MySqlDataReader Reader;
            ArrayList colReparacion = new ArrayList();

            SQL_p = "SELECT reparacion.*, vehiculo.dominio, vehiculo.marca, vehiculo.modelo, cliente.razonsocial " +
                    "FROM reparacion INNER JOIN cliente INNER JOIN vehiculo " +
                    "ON reparacion.vehiculo_idvehiculo = vehiculo.idvehiculo AND reparacion.cliente_idcliente = cliente.idcliente " +
                    "WHERE cliente.razonsocial LIKE '%" + Cliente.Filtro + "%' AND reparacion.estado = '" + Estado + "' AND reparacion.fecha BETWEEN '" + fechaInicio + "' AND '" + fechaFin + "' " +
                    "ORDER BY reparacion.fecha, reparacion.idreparacion DESC ";

            Reader = Conector.consultar(SQL_p);

            while (Reader.Read())
            {
                Reparacion objReparacioLocal = new Reparacion();

                //DATOS REPARACION
                objReparacioLocal.IdReparacion = Reader.GetInt32("idreparacion");
                objReparacioLocal.ImporteTotal = Reader.GetDouble("importe");
                objReparacioLocal.Fecha = Reader.GetDateTime("fecha");
                objReparacioLocal.FechaSistema = Reader.GetDateTime("fechasistema");
                objReparacioLocal.Descripcion = Reader.GetString("descripcion");
                objReparacioLocal.Estado = Reader.GetInt32("estado");
                objReparacioLocal.EstadoAnterior = Reader.GetInt32("estado");
                objReparacioLocal.CodigoReparacion = Reader.GetString("codigoreparacion");

                //DATOS VEHICULO
                objReparacioLocal.Vehiculo.Id = Reader.GetInt32("vehiculo_idvehiculo");
                objReparacioLocal.Vehiculo.Dominio = Reader.GetString("dominio");
                objReparacioLocal.Vehiculo.Marca = Reader.GetString("marca");
                objReparacioLocal.Vehiculo.Modelo = Reader.GetString("modelo");

                //DATOS CLIENTE
                objReparacioLocal.Cliente.Id = Reader.GetInt32("cliente_idcliente");
                objReparacioLocal.Cliente.NombreRazonSocial = Reader.GetString("razonsocial");

                colReparacion.Add(objReparacioLocal);
            }

            Reader.Close();
            return colReparacion;
        }
        /// <summary>
        /// Listado Total de reparaciones con deudas
        /// </summary>
        /// <param name="fechaInicio"></param>
        /// <param name="fechaFin"></param>
        /// <returns></returns>
        public virtual ArrayList coleccionDeudas()
        {
            string SQL_p;
            MySqlDataReader Reader;
            ArrayList colReparacion = new ArrayList();

            SQL_p = "SELECT reparacion.*, vehiculo.dominio, vehiculo.marca, vehiculo.modelo, cliente.razonsocial, IFNULL(factura.saldo, reparacion.importe) AS saldo " +
                    "FROM reparacion INNER JOIN cliente INNER JOIN vehiculo INNER JOIN factura " +
                    "ON reparacion.vehiculo_idvehiculo = vehiculo.idvehiculo AND reparacion.cliente_idcliente = cliente.idcliente AND reparacion.idreparacion = factura.reparacion_idreparacion " +
                    "WHERE factura.saldo != 0 AND (reparacion.estado = '1' OR reparacion.estado = '2' OR reparacion.estado = '4') " +
                    "GROUP BY reparacion.idreparacion HAVING cliente.razonsocial LIKE '%" + Cliente.Filtro + "%' " +
                    "ORDER BY reparacion.fecha DESC";

            Reader = Conector.consultar(SQL_p);

            while (Reader.Read())
            {
                Reparacion objReparacioLocal = new Reparacion();

                //DATOS REPARACION
                objReparacioLocal.IdReparacion = Reader.GetInt32("idreparacion");
                objReparacioLocal.ImporteTotal = Reader.GetDouble("importe");
                objReparacioLocal.Fecha = Reader.GetDateTime("fecha");
                objReparacioLocal.FechaSistema = Reader.GetDateTime("fechasistema");
                objReparacioLocal.Descripcion = Reader.GetString("descripcion");
                objReparacioLocal.Estado = Reader.GetInt32("estado");
                objReparacioLocal.EstadoAnterior = Reader.GetInt32("estado");
                objReparacioLocal.CodigoReparacion = Reader.GetString("codigoreparacion");

                //DATOS VEHICULO
                objReparacioLocal.Vehiculo.Id = Reader.GetInt32("vehiculo_idvehiculo");
                objReparacioLocal.Vehiculo.Dominio = Reader.GetString("dominio");
                objReparacioLocal.Vehiculo.Marca = Reader.GetString("marca");
                objReparacioLocal.Vehiculo.Modelo = Reader.GetString("modelo");

                //DATOS CLIENTE
                objReparacioLocal.Cliente.Id = Reader.GetInt32("cliente_idcliente");
                objReparacioLocal.Cliente.NombreRazonSocial = Reader.GetString("razonsocial");
                objReparacioLocal.Cliente.Deuda = Reader.GetDouble("saldo");

                colReparacion.Add(objReparacioLocal);
            }

            Reader.Close();
            return colReparacion;
        }
        private void llenarDataGrid()
        {
            this.buttonEditar.Enabled = false;
            this.buttonEliminar.Enabled = false;

            ArrayList colReparacion = new ArrayList();
            reparacion.Cliente.Filtro = this.textFiltro.Text;
            reparacion.Estado = 0;

            if (this.comboBoxBuscar.SelectedIndex == 0)
            {
                colReparacion = reparacion.coleccionPresupuesto(
                                                    String.Format("{0:yyyy/MM/dd}", dateTimePickerInicio.Value),
                                                    String.Format("{0:yyyy/MM/dd}", dateTimePickerFin.Value));
            }
            else if (this.comboBoxBuscar.SelectedIndex == 1)
            {
                colReparacion = reparacion.coleccionDominioPresupuesto(
                                                    String.Format("{0:yyyy/MM/dd}", dateTimePickerInicio.Value),
                                                    String.Format("{0:yyyy/MM/dd}", dateTimePickerFin.Value));
            }

            this.dataGridReparacion.Rows.Clear();

            for (int i = 0; i < colReparacion.Count; i++)
            {
                Reparacion objReparacionLocal = new Reparacion();

                objReparacionLocal = (Reparacion)colReparacion[i];

                if (objReparacionLocal.Estado == 0)
                {
                    //ES UN PRESUPUESTO
                    this.dataGridReparacion.Rows.Add();
                    this.dataGridReparacion.Rows[i].DefaultCellStyle.BackColor = Color.Silver;
                    this.dataGridReparacion.Rows[i].Cells["accion"].Value = "CAMBIAR A OT";
                    this.dataGridReparacion.Rows[i].Cells["estadovisual"].Value = "PRESUPUESTO";

                    this.dataGridReparacion.Rows[i].Cells["idreparacion"].Value = objReparacionLocal.IdReparacion;
                    this.dataGridReparacion.Rows[i].Cells["fecha"].Value = objReparacionLocal.Fecha.ToShortDateString();
                    this.dataGridReparacion.Rows[i].Cells["codigoreparacion"].Value = objReparacionLocal.CodigoReparacion;
                    this.dataGridReparacion.Rows[i].Cells["nombreRazonsocial"].Value = objReparacionLocal.Cliente.NombreRazonSocial;
                    this.dataGridReparacion.Rows[i].Cells["descripcion"].Value = objReparacionLocal.Descripcion;
                    this.dataGridReparacion.Rows[i].Cells["importe"].Value = objReparacionLocal.ImporteTotal;
                    this.dataGridReparacion.Rows[i].Cells["idvehiculo"].Value = objReparacionLocal.Vehiculo.Id;
                    this.dataGridReparacion.Rows[i].Cells["vehiculo"].Value = objReparacionLocal.Vehiculo.ToString();
                    this.dataGridReparacion.Rows[i].Cells["estado"].Value = objReparacionLocal.Estado;
                }

            }
            this.dataGridReparacion.ClearSelection();
            this.textBoxTotalOt.Text = this.dataGridReparacion.Rows.Count.ToString();
            this.calcular();
        }
        private void imprimirReparacion(Reparacion reparacion_p)
        {
            dsReparacion ds = new dsReparacion();

            ds.TablaReparacion.Rows.Add(
                reparacion_p.Fecha.ToShortDateString(),
                reparacion_p.ImporteTotal.ToString("0.00").Insert(0, "$ "),
                reparacion_p.Cliente.NombreRazonSocial.ToString().ToUpper(),
                reparacion_p.Cliente.Cuit.ToString(),
                reparacion_p.Cliente.Direccion.ToString().ToUpper(),
                reparacion_p.Vehiculo.Dominio.ToString().ToUpper(),
                reparacion_p.Vehiculo.Marca.ToString().ToUpper(),
                reparacion_p.Vehiculo.Modelo.ToString().ToUpper(),
                "Orden de Trabajo",
                reparacion_p.CodigoReparacion
                );

            if (reparacion_p.DetalleRepuestos.Count != 0)
            {
                for (int i = 0; i < reparacion_p.DetalleRepuestos.Count; i++)
                {
                    ds.TablaRepuestos.Rows.Add(
                        ((RepuestoReparacion)reparacion_p.DetalleRepuestos[i]).CantidadRequerida.ToString(),
                        ((RepuestoReparacion)reparacion_p.DetalleRepuestos[i]).CodigoRepuesto.ToString().ToUpper(),
                        ((RepuestoReparacion)reparacion_p.DetalleRepuestos[i]).DescripcionRepuesto.ToString().ToUpper(),
                        ((RepuestoReparacion)reparacion_p.DetalleRepuestos[i]).PrecioUnitario.ToString("0.00"),
                        ((RepuestoReparacion)reparacion_p.DetalleRepuestos[i]).PrecioTotal.ToString("0.00"),
                        ((RepuestoReparacion)reparacion_p.DetalleRepuestos[i]).PrecioTotal.ToString("0.00")
                        );
                }
            }

            if (reparacion_p.DetalleCargas.Count != 0)
            {
                for (int i = 0; i < reparacion_p.DetalleCargas.Count; i++)
                {
                    ds.TablaRepuestos.Rows.Add(
                        ((RepuestoReparacion)reparacion_p.DetalleCargas[i]).CantidadRequerida.ToString(),
                        ((RepuestoReparacion)reparacion_p.DetalleCargas[i]).CodigoRepuesto.ToString().ToUpper(),
                        ((RepuestoReparacion)reparacion_p.DetalleCargas[i]).DescripcionRepuesto.ToString().ToUpper(),
                        ((RepuestoReparacion)reparacion_p.DetalleCargas[i]).PrecioUnitario.ToString("0.00"),
                        ((RepuestoReparacion)reparacion_p.DetalleCargas[i]).PrecioTotal.ToString("0.00"),
                        ((RepuestoReparacion)reparacion_p.DetalleCargas[i]).PrecioTotal.ToString("0.00")
                        );
                }
            }

            if (reparacion_p.DetalleTarea.Count != 0)
            {
                for (int i = 0; i < reparacion_p.DetalleTarea.Count; i++)
                {
                    ds.TablaRepuestos.Rows.Add(
                        1,
                        "",
                        ((TareaReparacion)reparacion_p.DetalleTarea[i]).DescripcionTarea.ToString().ToUpper(),
                        ((TareaReparacion)reparacion_p.DetalleTarea[i]).CostoTotal.ToString("0.00"),
                        ((TareaReparacion)reparacion_p.DetalleTarea[i]).Costo.ToString("0.00"),
                        ((TareaReparacion)reparacion_p.DetalleTarea[i]).Costo.ToString("0.00")
                        );
                }
            }

            ReportDocument oRep = new ReportDocument();
            try
            {
                oRep.Load("E:/DOCUMENTOS GABRIEL/Mis documentos/Visual Studio 2010/Projects/SistemaGestionTaller/crInformeReparacion.rpt");
            }
            catch
            {
                oRep.Load("./Informes/crInformeReparacion.rpt");
            }

            oRep.SetDataSource(ds);

            frmImprimirReporte fr = new frmImprimirReporte(oRep);
            fr.MdiParent = this.MdiParent;
            fr.Show();
        }
        private void buttonImprimir_Click(object sender, EventArgs e)
        {
            int r = this.dataGridReparacion.CurrentCell.RowIndex;
            /*reparacion.IdReparacion = Convert.ToInt32(dataGridReparacion.Rows[r].Cells["idreparacion"].Value);
            reparacion.getReparacion();
            reparacion.Cliente.getDatosPersonales();*/

            Reparacion objReparacion = new Reparacion();
            objReparacion.IdReparacion = Convert.ToInt32(dataGridReparacion.Rows[r].Cells["idreparacion"].Value);
            objReparacion.getReparacion();
            objReparacion.Cliente.getDatosPersonales();

            if (objReparacion.Estado == 1)
            {
                this.imprimirReparacion(objReparacion);
            }
            /*else if (reparacion.Estado == 2)
            {
                this.imprimirFactura();
            }*/
        }
        private void llenarDataGrid()
        {
            ArrayList colReparacion = new ArrayList();
            reparacion.Cliente.Filtro = this.textFiltro.Text;
            reparacion.Estado = 0;

            colReparacion = reparacion.coleccionDeudas();

            this.dataGridReparacion.Rows.Clear();

            for (int i = 0; i < colReparacion.Count; i++)
            {
                Reparacion objReparacionLocal = new Reparacion();

                objReparacionLocal = (Reparacion)colReparacion[i];
                //objReparacionLocal.getReparacionSaldo();

                this.dataGridReparacion.Rows.Add();

                if (objReparacionLocal.Estado == 1)
                {
                    //ES UNA ORDEN DE TRABAJO
                    this.dataGridReparacion.Rows[i].Cells["accion"].Value = "FACTURAR";
                    this.dataGridReparacion.Rows[i].Cells["estadovisual"].Value = "ORDEN DE TRABAJO";
                }
                else if (objReparacionLocal.Estado == 2)
                {
                    //ORDEN FACTURADA
                    this.dataGridReparacion.Rows[i].Cells["accion"].Value = "AGREGAR PAGOS";
                    this.dataGridReparacion.Rows[i].Cells["estadovisual"].Value = "FACTURADA";
                }

                this.dataGridReparacion.Rows[i].Cells["idreparacion"].Value = objReparacionLocal.IdReparacion;
                this.dataGridReparacion.Rows[i].Cells["fecha"].Value = objReparacionLocal.Fecha.ToShortDateString();
                this.dataGridReparacion.Rows[i].Cells["codigoreparacion"].Value = objReparacionLocal.CodigoReparacion;
                this.dataGridReparacion.Rows[i].Cells["nombreRazonsocial"].Value = objReparacionLocal.Cliente.NombreRazonSocial;
                this.dataGridReparacion.Rows[i].Cells["descripcion"].Value = objReparacionLocal.Descripcion;
                this.dataGridReparacion.Rows[i].Cells["importe"].Value = objReparacionLocal.ImporteTotal;
                this.dataGridReparacion.Rows[i].Cells["idvehiculo"].Value = objReparacionLocal.Vehiculo.Id;
                this.dataGridReparacion.Rows[i].Cells["vehiculo"].Value = objReparacionLocal.Vehiculo.ToString();
                this.dataGridReparacion.Rows[i].Cells["estado"].Value = objReparacionLocal.Estado;
                this.dataGridReparacion.Rows[i].Cells["saldo"].Value = objReparacionLocal.Cliente.Deuda;

            }
            this.dataGridReparacion.ClearSelection();
            this.textBoxTotalOt.Text = this.dataGridReparacion.Rows.Count.ToString();
            this.calcular();
        }
 private void frmGestionDeudasOT_Load(object sender, EventArgs e)
 {
     reparacion = new Reparacion();
     this.llenarDataGrid();
 }
        private void loadForm()
        {
            reparacion = new Reparacion();
            repuesto = new RepuestoReparacion();
            repuestoGas = new RepuestoReparacion();
            tarea = new TareaReparacion();
            colIdRepuestos = new ArrayList();
            colIdTareas = new ArrayList();
            colIdGas = new ArrayList();
            this.buttonAgregarTarea.Enabled = false;
            this.buttonAgregarRepuesto.Enabled = false;
            this.buttonAgregarGas.Enabled = false;
            this.buttonEliminarRepuesto.Enabled = false;
            this.buttonEliminarTarea.Enabled = false;
            this.buttonEliminarGas.Enabled = false;

            if (!flagEditar)
                this.checkBoxPresupuesto.Checked = flagPresupuesto;

            if (flagEditar)
            {
                reparacion.IdReparacion = idReparacion;
                reparacion.getReparacion();

                //CLIENTE
                this.textNombre.Text = reparacion.Cliente.NombreRazonSocial;

                //VEHICULO
                this.textDominio.Text = reparacion.Vehiculo.Dominio;
                this.textModelo.Text = reparacion.Vehiculo.Marca + " " + reparacion.Vehiculo.Modelo;
                this.textBoxCapacidad.Text = reparacion.Vehiculo.CapacidadCarga.ToString().Insert(reparacion.Vehiculo.CapacidadCarga.ToString().Length, " gr.");

                //REPARACION
                this.dateTimePicker1.Value = reparacion.Fecha;
                this.textDescripcion.Text = reparacion.Descripcion;
                this.labelCodigoReparacion.Text = reparacion.CodigoReparacion;

                if (reparacion.Estado == 0)
                {
                    this.checkBoxPresupuesto.Checked = true;
                }
                else if (reparacion.Estado == 1)
                {
                    this.checkBoxPresupuesto.Checked = false;
                }

                //LLENAMOS LOS DETALLES DE REPUESTOS Y TAREAS
                this.llenarDataGridRepuesto();
                this.llenarDataGridTarea();
                this.llenarDataGridGas();

                //CAMBIAMOS ASPECTO DE BOTON GUARDAR
                this.buttonGuardar.Text = "Terminar";
                this.buttonGuardar.TextAlign = ContentAlignment.MiddleCenter;
                this.buttonGuardar.Image = null;

                this.checkBoxPresupuesto.Checked = flagPresupuesto;
                if (this.checkBoxPresupuesto.Checked)
                    this.checkBoxPresupuesto.Text = "Presupuesto";
                else
                    this.checkBoxPresupuesto.Text = "Orden de Trabajo";
            }
            else
            {
                try
                {

                    if (flagPresupuesto)
                    {
                        //incrementalCodigoReparacion = Convert.ToInt32(reparacion.getUltimoPresupuesto().Split('-')[2]) + 1;
                        //this.labelCodigoReparacion.Text = "PS-" + DateTime.Now.Year + String.Format("{0:MM}", DateTime.Now) + "-" + incrementalCodigoReparacion;
                    }
                    else
                    {
                        //incrementalCodigoReparacion = Convert.ToInt32(reparacion.getUltimaReparacion().Split('-')[2]) + 1;
                        //this.labelCodigoReparacion.Text = "OT-" + DateTime.Now.Year + String.Format("{0:MM}", DateTime.Now) + "-" + incrementalCodigoReparacion;
                    }
                }
                catch
                {
                    if (flagPresupuesto)
                    {
                        this.labelCodigoReparacion.Text = "PS-" + DateTime.Now.Year + String.Format("{0:MM}", DateTime.Now) + "-" + 1;
                    }
                    else
                    {
                        this.labelCodigoReparacion.Text = "OT-" + DateTime.Now.Year + String.Format("{0:MM}", DateTime.Now) + "-" + 1;
                    }
                }
            }
        }