예제 #1
0
        private void btnCancelar_Click(object sender, EventArgs e)
        {
            AbmTurno abmTurnoForm = new AbmTurno();

            this.Hide();
            abmTurnoForm.Show();
        }
예제 #2
0
 private void aBMTurnosToolStripMenuItem_Click(object sender, EventArgs e)
 {
     Abm_Turno.AbmTurno frmAbmTurno = new Abm_Turno.AbmTurno();
     frmAbmTurno.Show();
 }
예제 #3
0
 private void label1_Click(object sender, EventArgs e)
 {
     Abm_Turno.AbmTurno abmTurno = new Abm_Turno.AbmTurno();
     this.Hide();
     abmTurno.Show();
 }
예제 #4
0
        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            bool     huboErrorDato = false;
            DateTime fechaMinSql   = new DateTime(1753, 01, 01);
            DateTime fechaMaxSql   = new DateTime(9999, 12, 12);

            List <string> lstErroresCampos = new List <string>();
            String        error            = "";

            #region validacionCampos

            if (txtDescripcion.Text == "" || txtPrecioBase.Text == "" || txtValorKilometro.Text == "" || cmbHoraInicio.SelectedIndex == -1 ||
                cmbHoraFin.SelectedIndex == -1)
            {
                lstErroresCampos.Add("Complete todos los campos por favor.\n");
                huboErrorDato = true;
            }
            else
            {
                error = Validator.MayorACero(txtPrecioBase.Text, "Precio base");
                if (error != "")
                {
                    lstErroresCampos.Add(error);
                    huboErrorDato = true;
                    error         = "";
                }
                else if (!Validator.EsDecimal(txtPrecioBase.Text))
                {
                    lstErroresCampos.Add("El precio base debe ser decimal con coma y no con punto.\n");
                    huboErrorDato = true;
                }
                else if (txtPrecioBase.Text.IndexOf(".") > 0)
                {
                    lstErroresCampos.Add("Por favor utilice una coma en vez de un punto para indicar el precio base.\n");
                    huboErrorDato = true;
                }

                error = Validator.MayorACero(txtValorKilometro.Text, "Valor kilometro");
                if (error != "")
                {
                    lstErroresCampos.Add(error);
                    huboErrorDato = true;
                    error         = "";
                }
                else if (!Validator.EsDecimal(txtValorKilometro.Text))
                {
                    lstErroresCampos.Add("El valor del kilómetro base debe ser decimal con coma y no con punto.\n");
                    huboErrorDato = true;
                }
                else if (txtValorKilometro.Text.IndexOf(".") > 0)
                {
                    lstErroresCampos.Add("Por favor utilice una coma en vez de un punto para indicar el valor del kilómetro.\n");
                    huboErrorDato = true;
                }

                if (int.Parse(cmbHoraInicio.SelectedItem.ToString()) >= int.Parse(cmbHoraFin.SelectedItem.ToString()))
                {
                    lstErroresCampos.Add("El horario de inicio debe ser menor al de finalización.\n");
                    huboErrorDato = true;
                }
            }

            #endregion

            if (huboErrorDato)
            {
                Validator.mostrarErrores(lstErroresCampos, "");
            }
            else
            {
                turnoNuevo.Descripcion    = txtDescripcion.Text;
                turnoNuevo.HoraInicio     = int.Parse(cmbHoraInicio.SelectedItem.ToString());
                turnoNuevo.HoraFin        = int.Parse(cmbHoraFin.SelectedItem.ToString());
                turnoNuevo.PrecioBase     = Decimal.Parse(txtPrecioBase.Text);
                turnoNuevo.ValorKilometro = Decimal.Parse(txtValorKilometro.Text);

                DataSet ds = SQLHelper.ExecuteDataSet("PR_traerTurnosHabilitados", CommandType.StoredProcedure);
                Dictionary <int, Turno> turnos            = new Dictionary <int, Turno>();
                List <String>           lstErrorSolapados = new List <string>();
                bool huboErrorSolapados = false;

                if (!editing)
                {
                    turnoNuevo.Id_Turno = -1;
                    //hago esto para que cuando estoy editando, no se compare a si mismo cuando tiene que verificar el solapamiento de turnos
                }

                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    Turno turno = new Turno();
                    turno.DataRowToObject(row);
                    turnos.Add(turno.Id_Turno, turno);

                    if (turnoNuevo.Id_Turno != turno.Id_Turno)
                    {
                        if (turnoNuevo.HoraInicio >= turno.HoraInicio && turnoNuevo.HoraInicio < turno.HoraFin)
                        {
                            lstErrorSolapados.Add("turno " + turno.Descripcion + " que es de " + turno.HoraInicio.ToString() + " hasta " + turno.HoraFin.ToString() + "\n");
                            huboErrorSolapados = true;
                        }
                        else if (turnoNuevo.HoraFin <= turno.HoraFin && turnoNuevo.HoraFin > turno.HoraInicio)
                        {
                            lstErrorSolapados.Add("turno " + turno.Descripcion + " que es de " + turno.HoraInicio.ToString() + " hasta " + turno.HoraFin.ToString() + "\n");
                            huboErrorSolapados = true;
                        }
                        else if (turnoNuevo.HoraInicio <= turno.HoraInicio && turnoNuevo.HoraFin >= turno.HoraFin)
                        {
                            lstErrorSolapados.Add("turno " + turno.Descripcion + " que es de " + turno.HoraInicio.ToString() + " hasta " + turno.HoraFin.ToString() + "\n");
                            huboErrorSolapados = true;
                        }
                    }
                }

                if (huboErrorSolapados)
                {
                    Validator.mostrarErrores(lstErrorSolapados, "No se pudo agregar el turno, se solapa con: \n");
                }
                else
                {
                    List <SqlParameter> parameterList = new List <SqlParameter>();

                    parameterList.Add(new SqlParameter("@descripcion", turnoNuevo.Descripcion));
                    parameterList.Add(new SqlParameter("@horaInicio", Convert.ToDecimal(turnoNuevo.HoraInicio)));
                    parameterList.Add(new SqlParameter("@horaFin", Convert.ToDecimal(turnoNuevo.HoraFin)));
                    parameterList.Add(new SqlParameter("@precioBase", turnoNuevo.PrecioBase));
                    parameterList.Add(new SqlParameter("@valorKilometro", turnoNuevo.ValorKilometro));

                    try
                    {
                        if (!editing)
                        {
                            SQLHelper.ExecuteNonQuery("PR_altaTurno", CommandType.StoredProcedure, parameterList);

                            MessageBox.Show("El turno se ha agregado correctamente");
                        }
                        else
                        {
                            parameterList.Add(new SqlParameter("@idTurno", turnoNuevo.Id_Turno));
                            if (chkHabilitado.Checked)
                            {
                                parameterList.Add(new SqlParameter("@habilitado", 1));
                            }
                            else
                            {
                                parameterList.Add(new SqlParameter("@habilitado", 0));
                            }

                            SQLHelper.ExecuteNonQuery("PR_editarTurno", CommandType.StoredProcedure, parameterList);
                            MessageBox.Show("El turno se ha modificado correctamente");
                        }

                        AbmTurno abmTurno = new AbmTurno();
                        this.Hide();
                        abmTurno.Show();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                }
            }
        }