Ejemplo n.º 1
0
        public static bool InsertLibro(Libro item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertContrato = new MySqlCommand("Insert into libro (Nombre,Edicion,NActividades,Nivel) values (@Nombre,@Edicion,@NActividades,@Nivel)", _con, _trans);
                    cmdInsertContrato.Parameters.AddWithValue("@Nombre", item.Nombre);
                    cmdInsertContrato.Parameters.AddWithValue("@Edicion", item.Edicion);
                    cmdInsertContrato.Parameters.AddWithValue("@NActividades", item.NActividades);
                    cmdInsertContrato.Parameters.AddWithValue("@Nivel", item.Nivel);

                    if (cmdInsertContrato.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registro libro nuevo titulado \"" + item.Nombre + "\" edicion \"" + item.Edicion + "\" nivel \"" + item.Nivel + "\".");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Libro");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 2
0
        public static bool insertDesersion(Desersion item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertDesersion = new MySqlCommand("Insert into desersion (FhRegistro, Nota, IdMatricula) values (@FhRegistro, @Nota, @IdMatricula)", _con, _trans);
                    cmdInsertDesersion.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                    cmdInsertDesersion.Parameters.AddWithValue("@Nota", item.Nota);
                    cmdInsertDesersion.Parameters.AddWithValue("@IdMatricula", item.IdMatricula);

                    if (cmdInsertDesersion.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }
                    MySqlCommand cmdUpdateMatricula = new MySqlCommand("Update matricula set Estado='D' where Id=@Id", _con, _trans);
                    cmdUpdateMatricula.Parameters.AddWithValue("@Id", item.IdMatricula);

                    if (cmdUpdateMatricula.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 3
0
        public static bool habilitarCurso(Curso item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdUpdateCurso = new MySqlCommand("Update curso set Estado='A' where Id=@Id;", _con, _trans);
                    cmdUpdateCurso.Parameters.AddWithValue("@Id", item.Id);


                    if (cmdUpdateCurso.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "habilito el curso \"" + item.Nombre + "\" con un total de " + item.Libros + " libros con \"" + item.Contrato.Empleado.Persona.Nombre + "\" como encargado.");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "habilitar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Curso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 4
0
        public static bool anularEgreso(Int64 pIdEgreso, bool isParent, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdUpdateContrato = new MySqlCommand("update egreso set Estado='A' where Id=@pIdEgreso ", _con, _trans);
                    cmdUpdateContrato.Parameters.AddWithValue("@pIdEgreso", pIdEgreso);
                    if (cmdUpdateContrato.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }


                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Anuló el egreso con \"Nombre " + EgresoDAL.getEgresoById(pIdEgreso).Nombre + "\" con total de $" + EgresoDAL.getEgresoById(pIdEgreso).Total + ".");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Anular Egreso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Egreso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 5
0
        public static bool terminarContrato(Contrato item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdUpdateContrato = new MySqlCommand("update contrato set FhFin=CURRENT_TIME,Estado='F' where Id=@Id ", _con, _trans);
                    cmdUpdateContrato.Parameters.AddWithValue("@Id", item.Id);
                    if (cmdUpdateContrato.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Terminó Contrato del empleado con el \"Dui " + item.Empleado.Persona.Dui + "\" y el cargo " + CargoDAL.getCargos(100).Where(a => a.Id == item.IdCargo).FirstOrDefault().Nombre);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Terminar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Contrato");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                }
                catch (Exception)
                {
                    result = false;
                    _trans.Rollback();
                    _con.Close();
                    throw;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 6
0
        public static bool insertProducto(Producto item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertProducto = new MySqlCommand("Insert into producto (Nombre, Precio) values (@Nombre, @Precio)", _con, _trans);
                    cmdInsertProducto.Parameters.AddWithValue("@Nombre", item.Nombre);
                    cmdInsertProducto.Parameters.AddWithValue("@Precio", item.Precio);

                    if (cmdInsertProducto.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 7
0
        public static bool insertPersona(Persona item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertPersona = new MySqlCommand("Insert into persona (Nombre,Dui,Nit,FechaNac,Direccion) values (@Nombre,@Dui,@Nit,@FechaNac,@Direccion)", _con, _trans);
                    cmdInsertPersona.Parameters.AddWithValue("@Nombre", item.Nombre);
                    cmdInsertPersona.Parameters.AddWithValue("@Dui", "");
                    cmdInsertPersona.Parameters.AddWithValue("@Nit", "");
                    cmdInsertPersona.Parameters.AddWithValue("@FechaNac", DateTime.Today.ToString("yyyy/MM/dd"));
                    cmdInsertPersona.Parameters.AddWithValue("@Direccion", "");
                    if (cmdInsertPersona.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 8
0
        public static bool insertCurrentYear()
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertYear = new MySqlCommand("Insert into year (Desde,Hasta) values (CONCAT(YEAR(now()),'-01-01'),CONCAT(YEAR(now()),'-12-31'))", _con, _trans);


                    if (cmdInsertYear.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 9
0
        public static bool InsertSucursalConf(Sucursal item)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertSucursal = new MySqlCommand("Insert into sucursal (Nombre,Direccion) values (@Nombre,@Direccion)", _con, _trans);
                    cmdInsertSucursal.Parameters.AddWithValue("@Nombre", item.Nombre);
                    cmdInsertSucursal.Parameters.AddWithValue("@Direccion", item.Direccion);

                    if (cmdInsertSucursal.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 10
0
        public static bool insertCurso(Curso item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertCurso = new MySqlCommand("Insert into curso (Nombre,Seccion,Publico,Desde,Hasta,Estado,IdContrato,IdSucursal,IdYear) values (@Nombre,@Seccion,@Publico,@Desde,@Hasta,@Estado,@IdContrato,@IdSucursal,@IdYear)", _con, _trans);
                    cmdInsertCurso.Parameters.AddWithValue("@Nombre", item.Nombre);
                    cmdInsertCurso.Parameters.AddWithValue("@Seccion", item.Seccion);
                    cmdInsertCurso.Parameters.AddWithValue("@Publico", item.Publico);
                    cmdInsertCurso.Parameters.AddWithValue("@Desde", item.Desde);
                    cmdInsertCurso.Parameters.AddWithValue("@Hasta", item.Hasta);
                    cmdInsertCurso.Parameters.AddWithValue("@Estado", item.Estado);
                    cmdInsertCurso.Parameters.AddWithValue("@IdContrato", item.Contrato.Id);
                    cmdInsertCurso.Parameters.AddWithValue("@IdSucursal", item.IdSucursal);
                    cmdInsertCurso.Parameters.AddWithValue("@IdYear", item.IdYear);

                    if (cmdInsertCurso.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }
                    if (result)
                    {
                        foreach (Dia dia in item.Horario)
                        {
                            MySqlCommand cmdInsertDia = new MySqlCommand("Insert into dias (Nombre,HEntrada,HSalida,IdCurso) values (@Nombre,@HEntrada,@HSalida,@IdCurso)", _con, _trans);
                            cmdInsertDia.Parameters.AddWithValue("@Nombre", dia.Nombre);
                            cmdInsertDia.Parameters.AddWithValue("@HEntrada", dia.HEntrada);
                            cmdInsertDia.Parameters.AddWithValue("@HSalida", dia.HSalida);
                            cmdInsertDia.Parameters.AddWithValue("@IdCurso", item.Id);

                            if (cmdInsertDia.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                    }
                    if (result)
                    {
                        foreach (Detcurso detcurso in item.Libros)
                        {
                            MySqlCommand cmdInsertDia = new MySqlCommand("Insert into detcurso (IdLibro,IdCurso) values (@IdLibro,@IdCurso)", _con, _trans);
                            cmdInsertDia.Parameters.AddWithValue("@IdLibro", detcurso.IdLibro);
                            cmdInsertDia.Parameters.AddWithValue("@IdCurso", item.Id);

                            if (cmdInsertDia.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                detcurso.Id             = Convert.ToInt32(cmdUltimoId.ExecuteScalar());

                                for (int i = 0; i < detcurso.Libro.NActividades; i++)
                                {
                                    MySqlCommand cmdInsertActividad = new MySqlCommand("Insert into evaluacion (Nombre,Tipo,Porcentaje,IdDetCurso) values (@Nombre,@Tipo,@Porcentaje,@IdDetCurso)", _con, _trans);
                                    cmdInsertActividad.Parameters.AddWithValue("@Nombre", 1 + i == detcurso.Libro.NActividades?"Examen Final": "Evaluación " + (1 + i));
                                    cmdInsertActividad.Parameters.AddWithValue("@Tipo", 1 + i == detcurso.Libro.NActividades ? "Examen Final" : "Evaluación ");
                                    cmdInsertActividad.Parameters.AddWithValue("@Porcentaje", ((decimal)100 / (decimal)detcurso.Libro.NActividades).ToString());
                                    cmdInsertActividad.Parameters.AddWithValue("@IdDetCurso", detcurso.Id);

                                    if (cmdInsertActividad.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                }
                            }
                        }
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registro el curso \"" + item.Nombre + "\" con un total de " + item.Libros + " libros y selecciono a \"" + item.Contrato.Empleado.Persona.Nombre + "\" como encargado.");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Curso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 11
0
        public static bool insertEgreso(Egreso item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertEgreso = new MySqlCommand("Insert into egreso (FhRegistro,Tipo,Nombre,Total,Estado,IdSucursal) values (@FhRegistro,@Tipo,@Nombre,@Total,@Estado,@IdSucursal)", _con, _trans);
                    if (item.Id != 0)
                    {
                        cmdInsertEgreso = new MySqlCommand("Update egreso set FhRegistro=@FhRegistro,Tipo=@Tipo,Nombre=@Nombre,Total=@Total where Id=@Id", _con, _trans);
                        cmdInsertEgreso.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                        cmdInsertEgreso.Parameters.AddWithValue("@Tipo", item.Tipo);
                        cmdInsertEgreso.Parameters.AddWithValue("@Nombre", item.Nombre);
                        cmdInsertEgreso.Parameters.AddWithValue("@Total", item.Total);
                        cmdInsertEgreso.Parameters.AddWithValue("@Id", item.Id);
                    }
                    else
                    {
                        cmdInsertEgreso.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                        cmdInsertEgreso.Parameters.AddWithValue("@Tipo", item.Tipo);
                        cmdInsertEgreso.Parameters.AddWithValue("@Nombre", item.Nombre);
                        cmdInsertEgreso.Parameters.AddWithValue("@Total", item.Total);
                        cmdInsertEgreso.Parameters.AddWithValue("@Estado", "C");
                        cmdInsertEgreso.Parameters.AddWithValue("@IdSucursal", item.IdSucursal);
                    }

                    if (cmdInsertEgreso.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registró el egreso con \"Nombre " + item.Nombre + "\" de \"Tipo " + item.Tipo + "\" y con total de $" + item.Total + ".");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar Egreso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Egreso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 12
0
        public static bool syncCuotas(Int64 pIdCurso, Int64 pUserId)
        {
            bool             result     = true;
            bool             registro   = false;
            List <Cuota>     lista      = new List <Cuota>();
            List <Matricula> matriculas = new List <Matricula>();
            Curso            curso      = CursoDAL.getCursoById(pIdCurso);
            DateTime         fechaFin   = Convert.ToDateTime(curso.Hasta);

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                try
                {
                    _con.Open();
                    MySqlTransaction _trans           = _con.BeginTransaction();
                    MySqlCommand     cmdGetMatriculas = new MySqlCommand("select Id from matricula where IdCurso=@pIdCurso order by Id asc", _con);
                    cmdGetMatriculas.Parameters.AddWithValue("@pIdCurso", pIdCurso);
                    MySqlDataReader _reader = cmdGetMatriculas.ExecuteReader();
                    while (_reader.Read())
                    {
                        matriculas.Add(MatriculaDAL.getMatriculaById(_reader.GetInt64(0)));
                    }
                    _reader.Close();
                    foreach (Matricula matricula in matriculas)
                    {
                        DateTime fechaIni = Convert.ToDateTime(matricula.FhRegistro);
                        if (matricula != null)
                        {
                            for (int i = 0; i < (Math.Abs((fechaFin.Month - fechaIni.Month) + 12 * (fechaFin.Year - fechaIni.Year)) + 1); i++)
                            {
                                int    val1  = (fechaIni.AddMonths(i)).Month;
                                int    val2  = (fechaIni.AddMonths(i)).Year;
                                string fecha = fechaIni.AddMonths(i).ToString("yyyy") + "-" + fechaIni.AddMonths(i).ToString("MM") + "-" + (DateTime.DaysInMonth(fechaIni.AddMonths(i).Year, fechaIni.AddMonths(i).Month) > Convert.ToInt32(matricula.DiaLimite) ? matricula.DiaLimite : DateTime.DaysInMonth(fechaIni.AddMonths(i).Year, fechaIni.AddMonths(i).Month).ToString());
                                if (Convert.ToInt32(matricula.DiaLimite) < Convert.ToDateTime(curso.Desde).Day&& Convert.ToDateTime(curso.Desde).AddMonths(i).ToString("MM") == Convert.ToDateTime(matricula.FhRegistro).ToString("MM"))
                                {
                                    fecha = fechaIni.ToString("yyyy") + "-" + fechaIni.AddMonths(i).ToString("MM") + "-" + Convert.ToDateTime(curso.Desde).Day;
                                }
                                Cuota cuota = getCuotaByMonth(matricula.Id, (fechaIni.AddMonths(i)).Month, (fechaIni.AddMonths(i)).Year);
                                if (cuota == null)
                                {
                                    MySqlCommand cmdInsertCuota = new MySqlCommand("Insert into cuota (FhRegistro,Precio,Total,IdMatricula) values ('" + fecha + "',@Precio,@Total,@IdMatricula)", _con, _trans);
                                    cmdInsertCuota.Parameters.AddWithValue("@Precio", Properties.Settings.Default.PrecioCuota);
                                    cmdInsertCuota.Parameters.AddWithValue("@Total", "0.00");
                                    cmdInsertCuota.Parameters.AddWithValue("@IdMatricula", matricula.Id);

                                    if (cmdInsertCuota.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    else
                                    {
                                        registro = true;
                                    }
                                }
                            }
                            List <Cuota> cuotas = matricula.Cuotas.Where(a => Convert.ToDateTime(a.FhRegistro) < Convert.ToDateTime(curso.Desde) || Convert.ToDateTime(a.FhRegistro) > Convert.ToDateTime(curso.Hasta)).ToList();
                            foreach (Cuota cuota in cuotas)
                            {
                                if (MatricdetfacDAL.getMatricdetfacByIdCuota(cuota.Id) == null)
                                {
                                    MySqlCommand cmdInsertCuota = new MySqlCommand("delete from cuota where Id=@Id", _con, _trans);
                                    cmdInsertCuota.Parameters.AddWithValue("@Id", cuota.Id);
                                    if (cmdInsertCuota.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    else
                                    {
                                        registro = true;
                                    }
                                    if (result)
                                    {
                                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Sincronizó cuotas en el sistema y se elimino permanentemente la cuota con Id " + cuota.Id + " de la matricula con Id " + matricula.Id + " ya que no habia sido cancelada ni anulada en ningun caso posible.");
                                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Eliminar");
                                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Cuotas");
                                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUserId);
                                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                                        {
                                            result = false;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    if (result && registro)
                    {
                        if (result)
                        {
                            MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                            cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Sincronizó cuotas en el sistema.");
                            cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                            cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Cuotas");
                            cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUserId);
                            if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                    }
                    if (result)
                    {
                        if (registro)
                        {
                            _trans.Commit();
                        }
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 13
0
        public static bool updateEmpleado(Contrato item, Useremp pUser)
        {
            bool result = true;
            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdUpdatePersona = new MySqlCommand("update persona set Nombre=@Nombre,Dui=@Dui,Nit=@Nit,Direccion=@Direccion,FechaNac=@FechaNac where Id=@Id", _con, _trans);
                    cmdUpdatePersona.Parameters.AddWithValue("@Id", item.Empleado.Persona.Id);
                    cmdUpdatePersona.Parameters.AddWithValue("@Nombre", item.Empleado.Persona.Nombre);
                    cmdUpdatePersona.Parameters.AddWithValue("@Dui", item.Empleado.Persona.Dui);
                    cmdUpdatePersona.Parameters.AddWithValue("@Nit", item.Empleado.Persona.Nit);
                    cmdUpdatePersona.Parameters.AddWithValue("@Direccion", item.Empleado.Persona.Direccion);
                    cmdUpdatePersona.Parameters.AddWithValue("@FechaNac", item.Empleado.Persona.FechaNac);
                    if (cmdUpdatePersona.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    MySqlCommand cmdUpdateEmpleado = new MySqlCommand("update empleado  set Telefono=@Telefono,Correo=@Correo where Id=@Id", _con, _trans);
                    cmdUpdateEmpleado.Parameters.AddWithValue("@Id", item.Empleado.Id);
                    cmdUpdateEmpleado.Parameters.AddWithValue("@Telefono", item.Empleado.Telefono);
                    cmdUpdateEmpleado.Parameters.AddWithValue("@Correo", item.Empleado.Correo);

                    if (cmdUpdateEmpleado.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó empleado con el \"Dui " + item.Empleado.Persona.Dui + "\" con el cargo de " + CargoDAL.getCargos(100).Where(a => a.Id == item.IdCargo).FirstOrDefault().Nombre);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualizar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Empleado");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);

                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }

                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                    else { _trans.Rollback(); }

                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return result;
        }
Ejemplo n.º 14
0
        public static bool InsertFullContrato(Contrato item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    Empleado     empleado          = null;
                    MySqlCommand cmdBuscarEmpleado = new MySqlCommand("select e.* from empleado as e inner join persona as p on p.Id = e.IdPersona where Dui=@Dui or Nit=@Nit", _con, _trans);
                    cmdBuscarEmpleado.Parameters.AddWithValue("@Dui", item.Empleado.Persona.Dui);
                    cmdBuscarEmpleado.Parameters.AddWithValue("@Nit", item.Empleado.Persona.Nit);
                    MySqlDataReader _readerEmpleado = cmdBuscarEmpleado.ExecuteReader();
                    while (_readerEmpleado.Read())
                    {
                        empleado = new Empleado(_readerEmpleado.GetInt64(0),
                                                _readerEmpleado.GetString(1),
                                                _readerEmpleado.GetString(2),
                                                _readerEmpleado.GetString(3),
                                                CvDAL.getCvByIdEmpleado(_readerEmpleado.GetInt64(0)),
                                                _readerEmpleado.GetInt64(4),
                                                PersonaDAL.getPersonaById(_readerEmpleado.GetInt64(4))
                                                );
                    }
                    _readerEmpleado.Close();

                    if (empleado == null)
                    {
                        MySqlCommand cmdInsertPersona = new MySqlCommand("Insert into persona (Nombre,Dui,Nit,FechaNac,Direccion) values (@Nombre,@Dui,@Nit,@FechaNac,@Direccion)", _con, _trans);
                        cmdInsertPersona.Parameters.AddWithValue("@Nombre", item.Empleado.Persona.Nombre);
                        cmdInsertPersona.Parameters.AddWithValue("@Dui", item.Empleado.Persona.Dui);
                        cmdInsertPersona.Parameters.AddWithValue("@Nit", item.Empleado.Persona.Nit);
                        cmdInsertPersona.Parameters.AddWithValue("@FechaNac", item.Empleado.Persona.FechaNac);
                        cmdInsertPersona.Parameters.AddWithValue("@Direccion", item.Empleado.Persona.Direccion);
                        if (cmdInsertPersona.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdUltimoId.Transaction  = _trans;
                            item.Empleado.Persona.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        }

                        MySqlCommand cmdInsertEmpleado = new MySqlCommand("Insert into empleado (Telefono,Correo,IdPersona) values (@Telefono,@Correo,@IdPersona)", _con, _trans);
                        cmdInsertEmpleado.Parameters.AddWithValue("@Telefono", item.Empleado.Telefono);
                        cmdInsertEmpleado.Parameters.AddWithValue("@Correo", item.Empleado.Correo);
                        cmdInsertEmpleado.Parameters.AddWithValue("@IdPersona", item.Empleado.Persona.Id);

                        if (cmdInsertEmpleado.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdUltimoId.Transaction = _trans;
                            item.Empleado.Id        = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        }

                        MySqlCommand cmdInsertContrato = new MySqlCommand("Insert into contrato (FhInicio,FhFin,Estado,IdCargo,IdEmpleado,IdSucursal) values (@FhInicio,@FhFin,@Estado,@IdCargo,@IdEmpleado,@IdSucursal)", _con, _trans);
                        cmdInsertContrato.Parameters.AddWithValue("@FhInicio", DateTime.Now.ToString("yyyy-MM-dd"));
                        cmdInsertContrato.Parameters.AddWithValue("@FhFin", item.FhFin);
                        cmdInsertContrato.Parameters.AddWithValue("@Estado", "A");
                        cmdInsertContrato.Parameters.AddWithValue("@IdCargo", item.IdCargo);
                        cmdInsertContrato.Parameters.AddWithValue("@IdEmpleado", item.Empleado.Id);
                        cmdInsertContrato.Parameters.AddWithValue("@IdSucursal", item.IdSucursal);

                        if (cmdInsertContrato.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdUltimoId.Transaction = _trans;
                            item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        }

                        if (result)
                        {
                            MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                            cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registro empleado con el \"Dui " + item.Empleado.Persona.Dui + "\" contratado con el cargo de " + CargoDAL.getCargos(100).Where(a => a.Id == item.IdCargo).FirstOrDefault().Nombre);
                            cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                            cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Empleado");
                            cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                            if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                    }
                    else
                    {
                        MySqlCommand cmdUpdatePersona = new MySqlCommand("update persona set Nombre=@Nombre,Dui=@Dui,Nit=@Nit,Direccion=@Direccion,FechaNac=@FechaNac where Id=@Id", _con, _trans);
                        cmdUpdatePersona.Parameters.AddWithValue("@Id", item.Empleado.Persona.Id);
                        cmdUpdatePersona.Parameters.AddWithValue("@Nombre", item.Empleado.Persona.Nombre);
                        cmdUpdatePersona.Parameters.AddWithValue("@Dui", item.Empleado.Persona.Dui);
                        cmdUpdatePersona.Parameters.AddWithValue("@Nit", item.Empleado.Persona.Nit);
                        cmdUpdatePersona.Parameters.AddWithValue("@Direccion", item.Empleado.Persona.Direccion);
                        cmdUpdatePersona.Parameters.AddWithValue("@FechaNac", Convert.ToDateTime(item.Empleado.Persona.FechaNac).ToString("yyyy-MM-dd"));
                        if (cmdUpdatePersona.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }

                        MySqlCommand cmdUpdateEmpleado = new MySqlCommand("update empleado  set Telefono=@Telefono,Correo=@Correo where Id=@Id", _con, _trans);
                        cmdUpdateEmpleado.Parameters.AddWithValue("@Id", item.Empleado.Id);
                        cmdUpdateEmpleado.Parameters.AddWithValue("@Telefono", item.Empleado.Telefono);
                        cmdUpdateEmpleado.Parameters.AddWithValue("@Correo", item.Empleado.Correo);

                        if (cmdUpdateEmpleado.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }

                        item.Empleado.Persona.Id = empleado.IdPersona;
                        item.Empleado.Id         = empleado.Id;
                        MySqlCommand cmdInsertContrato = new MySqlCommand("Insert into contrato (FhRegistro,FhInicio,IdCargo,IdEmpleado,IdSucursal) values (@FhRegistro,@FhInicio,@IdCargo,@IdEmpleado,@IdSucursal)", _con, _trans);
                        cmdInsertContrato.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                        cmdInsertContrato.Parameters.AddWithValue("@FhInicio", item.FhInicio);
                        cmdInsertContrato.Parameters.AddWithValue("@IdEmpleado", item.Empleado.Id);
                        cmdInsertContrato.Parameters.AddWithValue("@IdSucursal", item.IdSucursal);
                        cmdInsertContrato.Parameters.AddWithValue("@IdCargo", item.Cargo.Id);

                        if (cmdInsertContrato.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdUltimoId.Transaction = _trans;
                            item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        }

                        if (result)
                        {
                            MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                            cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registro un contrato nuevo al empleado con el Dui " + item.Empleado.Persona.Dui + " con el cargo de " + CargoDAL.getCargos(100).Where(a => a.Id == item.IdCargo).FirstOrDefault().Nombre);
                            cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                            cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Contrato");
                            cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                            if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 15
0
        public static bool insertMatricula(Matricula item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    if (item.Estudiante.Id == 0)
                    {
                        MySqlCommand cmdInsertPersona = new MySqlCommand("Insert into persona (Nombre,Dui,Nit,FechaNac,Direccion) values (@Nombre,@Dui,@Nit,@FechaNac,@Direccion)", _con, _trans);
                        cmdInsertPersona.Parameters.AddWithValue("@Nombre", item.Estudiante.Persona.Nombre);
                        cmdInsertPersona.Parameters.AddWithValue("@Dui", "");
                        cmdInsertPersona.Parameters.AddWithValue("@Nit", "");
                        cmdInsertPersona.Parameters.AddWithValue("@FechaNac", item.Estudiante.Persona.FechaNac);
                        cmdInsertPersona.Parameters.AddWithValue("@Direccion", item.Estudiante.Persona.Direccion);
                        if (cmdInsertPersona.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdUltimoId.Transaction    = _trans;
                            item.Estudiante.Persona.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            item.Estudiante.IdPersona  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        }

                        MySqlCommand cmdInsertEstudiante = new MySqlCommand("Insert into estudiante (ApPaterno,ApMaterno,Telefono,Enfermedad,Correo,TelEmergencia,ParentEmergencia,IdPersona) values " +
                                                                            "(@ApPaterno,@ApMaterno,@Telefono,@Enfermedad,@Correo,@TelEmergencia,@ParentEmergencia,@IdPersona)", _con, _trans);
                        cmdInsertEstudiante.Parameters.AddWithValue("@ApPaterno", item.Estudiante.ApPaterno);
                        cmdInsertEstudiante.Parameters.AddWithValue("@ApMaterno", item.Estudiante.ApMaterno);
                        cmdInsertEstudiante.Parameters.AddWithValue("@Telefono", item.Estudiante.Telefono);
                        cmdInsertEstudiante.Parameters.AddWithValue("@Enfermedad", item.Estudiante.Enfermedad);
                        cmdInsertEstudiante.Parameters.AddWithValue("@Correo", item.Estudiante.Correo);
                        cmdInsertEstudiante.Parameters.AddWithValue("@TelEmergencia", item.Estudiante.TelEmergencia);
                        cmdInsertEstudiante.Parameters.AddWithValue("@ParentEmergencia", item.Estudiante.ParentEmergencia);
                        cmdInsertEstudiante.Parameters.AddWithValue("@IdPersona", item.Estudiante.IdPersona);

                        if (cmdInsertEstudiante.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdUltimoId.Transaction = _trans;
                            item.IdEstudiante       = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            item.Estudiante.Id      = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        }
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertMatricula = new MySqlCommand("Insert into matricula (FhRegistro,Becado,DiaLimite,IdCurso,IdEstudiante) values (@FhRegistro,@Becado,@DiaLimite,@IdCurso,@IdEstudiante)", _con, _trans);
                        cmdInsertMatricula.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                        cmdInsertMatricula.Parameters.AddWithValue("@Becado", item.Becado);
                        cmdInsertMatricula.Parameters.AddWithValue("@DiaLimite", item.DiaLimite);
                        cmdInsertMatricula.Parameters.AddWithValue("@IdCurso", item.IdCurso);
                        cmdInsertMatricula.Parameters.AddWithValue("@IdEstudiante", item.Estudiante.Id);

                        if (cmdInsertMatricula.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdUltimoId.Transaction = _trans;
                            item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        }
                    }
                    if (result)
                    {
                        foreach (Detmatricula detMatricula in item.Padres)
                        {
                            if (detMatricula.IdEncargado == 0)
                            {
                                MySqlCommand cmdInsertPersona = new MySqlCommand("Insert into persona (Nombre,Dui,Nit,Direccion) values (@Nombre,@Dui,@Nit,@Direccion)", _con, _trans);
                                cmdInsertPersona.Parameters.AddWithValue("@Nombre", detMatricula.encargado.Persona.Nombre);
                                cmdInsertPersona.Parameters.AddWithValue("@Dui", "");
                                cmdInsertPersona.Parameters.AddWithValue("@Nit", "");
                                cmdInsertPersona.Parameters.AddWithValue("@Direccion", detMatricula.encargado.Persona.Direccion);
                                if (cmdInsertPersona.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                                else
                                {
                                    MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                    cmdUltimoId.Transaction           = _trans;
                                    detMatricula.encargado.Persona.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                    detMatricula.encargado.IdPersona  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                }

                                MySqlCommand cmdInsertEncargado = new MySqlCommand("Insert into encargado (LugarTrabajo,Trabajo,Telefono,IdPersona) values (@LugarTrabajo,@Trabajo,@Telefono,@IdPersona)", _con, _trans);
                                cmdInsertEncargado.Parameters.AddWithValue("@LugarTrabajo", detMatricula.encargado.LugarTrabajo);
                                cmdInsertEncargado.Parameters.AddWithValue("@Trabajo", detMatricula.encargado.Trabajo);
                                cmdInsertEncargado.Parameters.AddWithValue("@Telefono", detMatricula.encargado.Telefono);
                                cmdInsertEncargado.Parameters.AddWithValue("@IdPersona", detMatricula.encargado.IdPersona);

                                if (cmdInsertEncargado.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                                else
                                {
                                    MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                    cmdUltimoId.Transaction   = _trans;
                                    detMatricula.IdEncargado  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                    detMatricula.encargado.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                }
                            }
                            MySqlCommand cmdInsertDetMatricula = new MySqlCommand("Insert into detmatricula (Parentesco,IdMatricula,IdEncargado) values (@Parentesco,@IdMatricula,@IdEncargado)", _con, _trans);
                            cmdInsertDetMatricula.Parameters.AddWithValue("@Parentesco", detMatricula.Parentesco);
                            cmdInsertDetMatricula.Parameters.AddWithValue("@IdMatricula", item.Id);
                            cmdInsertDetMatricula.Parameters.AddWithValue("@IdEncargado", detMatricula.IdEncargado);

                            if (cmdInsertDetMatricula.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                detMatricula.Id         = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }
                        }
                    }
                    DateTime date    = Convert.ToDateTime(item.FhRegistro);
                    Curso    curso   = CursoDAL.getCursoById(item.IdCurso);
                    int      nCuotas = Math.Abs((Convert.ToDateTime(curso.Hasta).Month - Convert.ToDateTime(item.FhRegistro).Month) + 12 * (Convert.ToDateTime(curso.Hasta).Year - Convert.ToDateTime(item.FhRegistro).Year)) + 1;
                    for (int i = 0; i < nCuotas; i++)
                    {
                        MySqlCommand cmdInsertCuota = new MySqlCommand("Insert into cuota (FhRegistro,Precio,Total,IdMatricula) values (@FhRegistro,@Precio,@Total,@IdMatricula)", _con, _trans);
                        cmdInsertCuota.Parameters.AddWithValue("@FhRegistro", date.AddMonths(i).ToString("yyyy") + "/" + date.AddMonths(i).ToString("MM") + "/" + (Validation.Validation.getMaxDayMonth(Convert.ToInt32(date.AddMonths(i).ToString("MM"))) > Convert.ToInt32(item.DiaLimite) ? item.DiaLimite : Validation.Validation.getMaxDayMonth(Convert.ToInt32(date.AddMonths(i).ToString("MM"))).ToString()));
                        cmdInsertCuota.Parameters.AddWithValue("@Precio", Properties.Settings.Default.PrecioCuota);
                        cmdInsertCuota.Parameters.AddWithValue("@Total", "0.00");
                        cmdInsertCuota.Parameters.AddWithValue("@IdMatricula", item.Id);

                        if (cmdInsertCuota.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }
                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Inscribio al estudiante \"" + item.Estudiante.Persona.Nombre + "\" en el curso \"" + CursoDAL.getCursoById(item.IdCurso).Nombre + "\"" +
                                                                   (item.Padres.Where(a => a.Parentesco == "Madre").FirstOrDefault() == null ? "" : ", selecciono a \"" + item.Padres.Where(a => a.Parentesco == "Madre").FirstOrDefault().encargado.Persona.Nombre + "\"" +
                                                                    (item.Padres.Where(a => a.Parentesco == "Padre").FirstOrDefault() == null ? "." : " y a \"" + item.Padres.Where(a => a.Parentesco == "Padre").FirstOrDefault().encargado.Persona.Nombre + "\" como su padre.")));
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Inscripcion");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 16
0
        public static Factura insertFactura(Factura item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdCorrelativoNfactura = new MySqlCommand("select CONCAT(DATE_FORMAT(CURRENT_DATE(), '%Y%m'),lpad(coalesce(max(FORMAT(CONVERT(SUBSTRING(NFactura,7),int),'####')+1),1),4,'0'))from factura where SUBSTRING(NFactura,1,6)=CONVERT(DATE_FORMAT(now(), '%Y%m'),char)", _con, _trans);
                    item.NFactura = Convert.ToString(cmdCorrelativoNfactura.ExecuteScalar());

                    MySqlCommand cmdInsertFactura = new MySqlCommand("Insert into factura (FhRegistro,Nfactura,Observacion,Total,Estado,IdPersona,IdSucursal) values (@FhRegistro,@Nfactura,@Observacion,@Total,@Estado,@IdPersona,@IdSucursal)", _con, _trans);
                    cmdInsertFactura.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                    cmdInsertFactura.Parameters.AddWithValue("@Nfactura", item.NFactura);
                    cmdInsertFactura.Parameters.AddWithValue("@Observacion", item.Observacion);
                    cmdInsertFactura.Parameters.AddWithValue("@Total", item.Total);
                    cmdInsertFactura.Parameters.AddWithValue("@Estado", "C");
                    cmdInsertFactura.Parameters.AddWithValue("@IdPersona", item.IdPersona);
                    cmdInsertFactura.Parameters.AddWithValue("@IdSucursal", item.IdSucursal);

                    if (cmdInsertFactura.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }
                    foreach (Detfactura det in item.DetsFactura)
                    {
                        if (det.Tipo == "M")
                        {
                            Cuota cuota = CuotaDAL.getCuotaById(det.Matricdetfac.IdCuota);

                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }

                            MySqlCommand cmdInsertMatricDetFact = new MySqlCommand("Insert into matricdetfact (IdDetFactura,IdCuota) values (@IdDetFactura,@IdCuota)", _con, _trans);
                            cmdInsertMatricDetFact.Parameters.AddWithValue("@IdDetFactura", det.Id);
                            cmdInsertMatricDetFact.Parameters.AddWithValue("@IdCuota", det.Matricdetfac.IdCuota);

                            if (cmdInsertMatricDetFact.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction       = _trans;
                                det.Matricdetfac.Id           = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                det.Matricdetfac.IdDetFactura = det.Id;
                            }
                            MySqlCommand cmdUpdateCuota = new MySqlCommand("update cuota set Total=@pTotal where Id=@Id", _con, _trans);
                            cmdUpdateCuota.Parameters.AddWithValue("@Id", det.Matricdetfac.IdCuota);
                            cmdUpdateCuota.Parameters.AddWithValue("@pTotal", det.Total + cuota.Total);
                            if (cmdUpdateCuota.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                        if (det.Tipo == "F")
                        {
                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }
                        }
                        if (det.Tipo == "R")
                        {
                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,RefNFactura,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@RefNFactura,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@RefNFactura", item.NFactura);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }
                        }
                        if (det.Tipo == "C")
                        {
                            MySqlCommand cmdInsertDetFactura = new MySqlCommand("Insert into detfactura (Concepto,Total,Descuento,Tipo,RefNFactura,IdFactura,IdProducto) values (@Concepto,@Total,@Descuento,@Tipo,@RefNFactura,@IdFactura,@IdProducto)", _con, _trans);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Concepto", det.Producto.Nombre);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Total", det.Total);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Descuento", det.Descuento);
                            cmdInsertDetFactura.Parameters.AddWithValue("@Tipo", det.Tipo);
                            cmdInsertDetFactura.Parameters.AddWithValue("@RefNFactura", det.RefNFactura);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdFactura", item.Id);
                            cmdInsertDetFactura.Parameters.AddWithValue("@IdProducto", det.IdProducto);

                            if (cmdInsertDetFactura.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            else
                            {
                                MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                cmdUltimoId.Transaction = _trans;
                                det.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                            }
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        item             = new Factura();
                        item.DetsFactura = new List <Detfactura>();
                    }
                }
                catch (Exception ex)
                {
                    item             = new Factura();
                    item.DetsFactura = new List <Detfactura>();
                    result           = false;
                    _trans.Rollback();
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(item);
        }
Ejemplo n.º 17
0
        public static bool updateMatricula(Matricula item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    Matricula    matricula        = getMatriculaById(item.Id);
                    MySqlCommand cmdUpdatePersona = new MySqlCommand("update persona set Nombre=@Nombre,Dui=@Dui,Nit=@Nit,Direccion=@Direccion,FechaNac=@FechaNac where Id=@Id", _con, _trans);
                    cmdUpdatePersona.Parameters.AddWithValue("@Id", item.Estudiante.Persona.Id);
                    cmdUpdatePersona.Parameters.AddWithValue("@Nombre", item.Estudiante.Persona.Nombre);
                    cmdUpdatePersona.Parameters.AddWithValue("@Dui", item.Estudiante.Persona.Dui);
                    cmdUpdatePersona.Parameters.AddWithValue("@Nit", item.Estudiante.Persona.Nit);
                    cmdUpdatePersona.Parameters.AddWithValue("@Direccion", item.Estudiante.Persona.Direccion);
                    cmdUpdatePersona.Parameters.AddWithValue("@FechaNac", Convert.ToDateTime(item.Estudiante.Persona.FechaNac).ToString("yyyy-MM-dd"));
                    if (cmdUpdatePersona.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    MySqlCommand cmdUpdateEstudiante = new MySqlCommand("update estudiante set ApPaterno=@ApPaterno,ApMaterno=@ApMaterno, " +
                                                                        "Telefono=@Telefono,Enfermedad=@Enfermedad,Correo=@Correo,TelEmergencia=@TelEmergencia,ParentEmergencia=@ParentEmergencia,IdPersona=@IdPersona " +
                                                                        "where Id=@Id", _con, _trans);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@Id", item.Estudiante.Id);

                    cmdUpdateEstudiante.Parameters.AddWithValue("@ApPaterno", item.Estudiante.ApPaterno);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@ApMaterno", item.Estudiante.ApMaterno);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@Telefono", item.Estudiante.Telefono);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@Enfermedad", item.Estudiante.Enfermedad);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@Correo", item.Estudiante.Correo);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@TelEmergencia", item.Estudiante.TelEmergencia);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@ParentEmergencia", item.Estudiante.ParentEmergencia);
                    cmdUpdateEstudiante.Parameters.AddWithValue("@IdPersona", item.Estudiante.IdPersona);

                    if (cmdUpdateEstudiante.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    MySqlCommand cmdUpdateMatricula = new MySqlCommand("update matricula set FhRegistro=@FhRegistro,Becado=@Becado,DiaLimite=@DiaLimite,IdCurso=@IdCurso where Id=@Id", _con, _trans);
                    cmdUpdateMatricula.Parameters.AddWithValue("@Id", item.Id);
                    cmdUpdateMatricula.Parameters.AddWithValue("@FhRegistro", item.FhRegistro);
                    cmdUpdateMatricula.Parameters.AddWithValue("@Becado", item.Becado);
                    cmdUpdateMatricula.Parameters.AddWithValue("@DiaLimite", item.DiaLimite);
                    cmdUpdateMatricula.Parameters.AddWithValue("@IdCurso", item.IdCurso);

                    if (cmdUpdateMatricula.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        foreach (Detmatricula detMatricula in item.Padres)
                        {
                            if (detMatricula.Id == 0)
                            {
                                if (detMatricula.encargado.Id == 0)
                                {
                                    MySqlCommand cmdInsertPersona = new MySqlCommand("Insert into persona (Nombre,Dui,Nit,Direccion) values (@Nombre, @Dui, @Nit, @Direccion)", _con, _trans);
                                    cmdInsertPersona.Parameters.AddWithValue("@Nombre", detMatricula.encargado.Persona.Nombre);
                                    cmdInsertPersona.Parameters.AddWithValue("@Dui", "");
                                    cmdInsertPersona.Parameters.AddWithValue("@Nit", "");
                                    cmdInsertPersona.Parameters.AddWithValue("@Direccion", detMatricula.encargado.Persona.Direccion);
                                    if (cmdInsertPersona.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    else
                                    {
                                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                        cmdUltimoId.Transaction           = _trans;
                                        detMatricula.encargado.Persona.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                        detMatricula.encargado.IdPersona  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                    }

                                    MySqlCommand cmdInsertEncargado = new MySqlCommand("Insert into encargado (LugarTrabajo,Trabajo,Telefono,IdPersona) values (@LugarTrabajo,@Trabajo,@Telefono,@IdPersona)", _con, _trans);
                                    cmdInsertEncargado.Parameters.AddWithValue("@LugarTrabajo", detMatricula.encargado.LugarTrabajo);
                                    cmdInsertEncargado.Parameters.AddWithValue("@Trabajo", detMatricula.encargado.Trabajo);
                                    cmdInsertEncargado.Parameters.AddWithValue("@Telefono", detMatricula.encargado.Telefono);
                                    cmdInsertEncargado.Parameters.AddWithValue("@IdPersona", detMatricula.encargado.IdPersona);

                                    if (cmdInsertEncargado.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    else
                                    {
                                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                        cmdUltimoId.Transaction   = _trans;
                                        detMatricula.IdEncargado  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                        detMatricula.encargado.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                    }
                                    MySqlCommand cmdInsertDetMatricula = new MySqlCommand("Insert into detmatricula (Parentesco,IdMatricula,IdEncargado) values (@Parentesco,@IdMatricula,@IdEncargado)", _con, _trans);
                                    cmdInsertDetMatricula.Parameters.AddWithValue("@Parentesco", detMatricula.Parentesco);
                                    cmdInsertDetMatricula.Parameters.AddWithValue("@IdMatricula", item.Id);
                                    cmdInsertDetMatricula.Parameters.AddWithValue("@IdEncargado", detMatricula.IdEncargado);

                                    if (cmdInsertDetMatricula.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    else
                                    {
                                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                        cmdUltimoId.Transaction = _trans;
                                        detMatricula.Id         = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                    }
                                }
                                else
                                {
                                    MySqlCommand cmdInsertDetMatricula = new MySqlCommand("Insert into detmatricula (Parentesco,IdMatricula,IdEncargado) values (@Parentesco,@IdMatricula,@IdEncargado)", _con, _trans);
                                    cmdInsertDetMatricula.Parameters.AddWithValue("@Parentesco", detMatricula.Parentesco);
                                    cmdInsertDetMatricula.Parameters.AddWithValue("@IdMatricula", detMatricula.IdMatricula);
                                    cmdInsertDetMatricula.Parameters.AddWithValue("@IdEncargado", detMatricula.IdEncargado);

                                    if (cmdInsertDetMatricula.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    else
                                    {
                                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                                        cmdUltimoId.Transaction = _trans;
                                        detMatricula.Id         = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                                    }
                                }
                            }
                            else
                            {
                                //actualizar persona

                                MySqlCommand cmdUpdatePersonaEnc = new MySqlCommand("update persona set Nombre=@Nombre,Direccion=@Direccion where Id=@Id", _con, _trans);
                                cmdUpdatePersonaEnc.Parameters.AddWithValue("@Id", detMatricula.encargado.Persona.Id);
                                cmdUpdatePersonaEnc.Parameters.AddWithValue("@Nombre", detMatricula.encargado.Persona.Nombre);
                                cmdUpdatePersonaEnc.Parameters.AddWithValue("@Direccion", detMatricula.encargado.Persona.Direccion);
                                if (cmdUpdatePersonaEnc.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                                MySqlCommand cmdUpdateEncargado = new MySqlCommand("update encargado set LugarTrabajo=@LugarTrabajo,Trabajo=@Trabajo,Telefono=@Telefono where Id=@Id", _con, _trans);
                                cmdUpdateEncargado.Parameters.AddWithValue("@Id", detMatricula.encargado.Id);
                                cmdUpdateEncargado.Parameters.AddWithValue("@LugarTrabajo", detMatricula.encargado.LugarTrabajo);
                                cmdUpdateEncargado.Parameters.AddWithValue("@Trabajo", detMatricula.encargado.Trabajo);
                                cmdUpdateEncargado.Parameters.AddWithValue("@Telefono", detMatricula.encargado.Telefono);

                                if (cmdUpdateEncargado.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                            }
                        }
                    }
                    if (result)
                    {
                        DateTime date  = Convert.ToDateTime(item.FhRegistro);
                        Curso    curso = CursoDAL.getCursoById(item.IdCurso);

                        foreach (Cuota cuota in item.Cuotas)
                        {
                            MySqlCommand cmdInsertCuota = new MySqlCommand("update cuota set FhRegistro=@FhRegistro where Id=@pId", _con, _trans);
                            cmdInsertCuota.Parameters.AddWithValue("@FhRegistro", Convert.ToDateTime(cuota.FhRegistro).ToString("yyyy") + "/" + Convert.ToDateTime(cuota.FhRegistro).ToString("MM") + "/" + (Validation.Validation.getMaxDayMonth(Convert.ToDateTime(cuota.FhRegistro).Month) > Convert.ToInt32(item.DiaLimite) ? item.DiaLimite : Validation.Validation.getMaxDayMonth(Convert.ToDateTime(cuota.FhRegistro).Month).ToString()));

                            cmdInsertCuota.Parameters.AddWithValue("@pId", cuota.Id);

                            if (cmdInsertCuota.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                    }
                    if (result)
                    {
                        foreach (Detmatricula detMatricula in matricula.Padres)
                        {
                            if (item.Padres.Where(a => a.Id == detMatricula.Id).FirstOrDefault() == null)
                            {
                                MySqlCommand cmdDeleteDetMatricula = new MySqlCommand("Delete from detmatricula where Id=@pId;", _con, _trans);
                                cmdDeleteDetMatricula.Parameters.AddWithValue("@pId", detMatricula.Id);

                                if (cmdDeleteDetMatricula.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                            }
                        }
                    }
                    if (result)
                    {
                        Estudiante   est = matricula.Estudiante;
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó la información de inscripción del alumno \"" + est.Persona.Nombre + "\" valores antiguos: \n" +
                                                                   "Nombre: " + est.Persona.Nombre + ", Apellido Paterno: " + est.ApPaterno + ", Apellido Materno: " + est.ApMaterno + ", Fecha de Nacimiento: " + est.Persona.FechaNac + ", " +
                                                                   "Enfermedad: " + est.Enfermedad + ", Dirección: " + est.Persona.Direccion + ", Correo: " + est.Correo + ", Teléfono: " + est.Telefono + ", Teléfono de emergencias: " +
                                                                   est.TelEmergencia + ", Parentesco o nombre: " + est.ParentEmergencia + ", Curso: " + CursoDAL.getCursoById(matricula.IdCurso).Nombre + ", Dia limite de pago: " +
                                                                   matricula.DiaLimite + ", Becado: " + (matricula.Becado == 0 ? "No" : "Si") + (matricula.Padres.Where(a => a.Parentesco == "Padre").FirstOrDefault() == null ? "" : ", Padre:" + matricula.Padres.Where(a => a.Parentesco == "Padre").FirstOrDefault().encargado.Persona.Nombre) +
                                                                   (matricula.Padres.Where(a => a.Parentesco == "Madre").FirstOrDefault() == null ? ".\n" : ", Madre: " + matricula.Padres.Where(a => a.Parentesco == "Madre").FirstOrDefault().encargado.Persona.Nombre) +
                                                                   "Datos Nuevos: \n" +
                                                                   "Nombre: " + item.Estudiante.Persona.Nombre + ", Apellido Paterno: " + item.Estudiante.ApPaterno + ", Apellido Materno: " + item.Estudiante.ApMaterno + ", Fecha de Nacimiento: " + item.Estudiante.Persona.FechaNac + ", " +
                                                                   "Enfermedad: " + item.Estudiante.Enfermedad + ", Dirección: " + item.Estudiante.Persona.Direccion + ", Correo: " + item.Estudiante.Correo + ", Teléfono: " + item.Estudiante.Telefono + ", Teléfono de emergencias: " +
                                                                   item.Estudiante.TelEmergencia + ", Parentesco o nombre: " + item.Estudiante.ParentEmergencia + ", Curso: " + CursoDAL.getCursoById(item.IdCurso).Nombre + ", Dia limite de pago: " +
                                                                   item.DiaLimite + ", Becado: " + (item.Becado == 0 ? "No" : "Si") + (item.Padres.Where(a => a.Parentesco == "Padre").FirstOrDefault() == null ? "" : ", Padre:" + item.Padres.Where(a => a.Parentesco == "Padre").FirstOrDefault().encargado.Persona.Nombre) +
                                                                   (item.Padres.Where(a => a.Parentesco == "Madre").FirstOrDefault() == null ? ".\n" : ", Madre: " + item.Padres.Where(a => a.Parentesco == "Madre").FirstOrDefault().encargado.Persona.Nombre));

                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualizar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Curso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 18
0
        public static bool InsertContrato(Contrato item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertContrato = new MySqlCommand("Insert into contrato (FhInicio,FhFin,Estado,IdCargo,IdEmpleado,IdSucursal) values (@FhInicio,@FhFin,@Estado,@IdCargo,@IdEmpleado,@IdSucursal)", _con, _trans);
                    cmdInsertContrato.Parameters.AddWithValue("@FhInicio", item.FhInicio);
                    cmdInsertContrato.Parameters.AddWithValue("@FhFin", null);
                    cmdInsertContrato.Parameters.AddWithValue("@Estado", "A");
                    cmdInsertContrato.Parameters.AddWithValue("@IdCargo", item.IdCargo);
                    cmdInsertContrato.Parameters.AddWithValue("@IdEmpleado", item.Empleado.Id);
                    cmdInsertContrato.Parameters.AddWithValue("@IdSucursal", item.IdSucursal);

                    if (cmdInsertContrato.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registro contrato nuevo al empleado con con el \"Dui " + item.Empleado.Persona.Dui + "\" y dicho cargo es " + CargoDAL.getCargos(100).Where(a => a.Id == item.IdCargo).FirstOrDefault().Nombre);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Cargo");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }
                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 19
0
        public static bool updateCurso(Curso item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdUpdateCurso = new MySqlCommand("Update curso set Nombre=@Nombre, Seccion=@Seccion, Publico=@Publico, Desde=@Desde, Hasta=@Hasta, Estado=@Estado, IdContrato=@IdContrato where Id=@Id;", _con, _trans);
                    cmdUpdateCurso.Parameters.AddWithValue("@Id", item.Id);

                    cmdUpdateCurso.Parameters.AddWithValue("@Nombre", item.Nombre);
                    cmdUpdateCurso.Parameters.AddWithValue("@Seccion", item.Seccion);
                    cmdUpdateCurso.Parameters.AddWithValue("@Publico", item.Publico);
                    cmdUpdateCurso.Parameters.AddWithValue("@Desde", item.Desde);
                    cmdUpdateCurso.Parameters.AddWithValue("@Hasta", item.Hasta);
                    cmdUpdateCurso.Parameters.AddWithValue("@Estado", item.Estado);
                    cmdUpdateCurso.Parameters.AddWithValue("@IdContrato", item.Contrato.Id);

                    if (cmdUpdateCurso.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        foreach (Dia dia in DiasDAL.getDiasByIdCurso(item.Id))
                        {
                            if (item.Horario.Where(a => a.Id == dia.Id).FirstOrDefault() == null)
                            {
                                MySqlCommand cmdDeleteDia = new MySqlCommand("Delete from dias where Id=@Id", _con, _trans);
                                cmdDeleteDia.Parameters.AddWithValue("@Id", dia.Id);

                                if (cmdDeleteDia.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                            }
                        }
                        foreach (Dia dia in item.Horario.Where(a => a.Id == 0).ToList())
                        {
                            MySqlCommand cmdInsertDia = new MySqlCommand("Insert into dias (Nombre,HEntrada,HSalida,IdCurso) values (@Nombre,@HEntrada,@HSalida,@IdCurso)", _con, _trans);
                            cmdInsertDia.Parameters.AddWithValue("@Nombre", dia.Nombre);
                            cmdInsertDia.Parameters.AddWithValue("@HEntrada", dia.HEntrada);
                            cmdInsertDia.Parameters.AddWithValue("@HSalida", dia.HSalida);
                            cmdInsertDia.Parameters.AddWithValue("@IdCurso", item.Id);

                            if (cmdInsertDia.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                    }

                    if (result)
                    {
                        foreach (Detcurso detcurso in DetCursoDAL.getDetscursoByIdCurso(item.Id))
                        {
                            if (item.Libros.Where(a => a.Id == detcurso.Id).FirstOrDefault() == null)
                            {
                                MySqlCommand cmdDeleteDetCurso = new MySqlCommand("update detcurso set Estado='E' where Id=@Id", _con, _trans);
                                cmdDeleteDetCurso.Parameters.AddWithValue("@Id", detcurso.Id);

                                if (cmdDeleteDetCurso.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                            }
                        }
                        foreach (Detcurso detcurso in item.Libros.Where(a => a.Id == 0).ToList())
                        {
                            MySqlCommand cmdInsertDia = new MySqlCommand("Insert into detcurso (IdLibro,IdCurso) values (@IdLibro,@IdCurso)", _con, _trans);
                            cmdInsertDia.Parameters.AddWithValue("@IdLibro", detcurso.IdLibro);
                            cmdInsertDia.Parameters.AddWithValue("@IdCurso", item.Id);

                            if (cmdInsertDia.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                    }
                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registro el curso \"" + item.Nombre + "\" con un total de " + item.Libros + " libros y selecciono a \"" + item.Contrato.Empleado.Persona.Nombre + "\" como encargado.");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Registrar");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Curso");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 20
0
        public static bool InsertUserEmp(Useremp item, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertAuditoria = null;

                    MySqlCommand cmdInsert = new MySqlCommand("Insert into useremp(Login,Pass,Estado,IdContrato)" +
                                                              " values (@Login,md5(@Pass),@Estado,@IdContrato)", _con, _trans);
                    cmdInsert.Parameters.AddWithValue("@Login", item.Login);
                    cmdInsert.Parameters.AddWithValue("@Pass", item.Pass);
                    cmdInsert.Parameters.AddWithValue("@Estado", item.Estado);

                    cmdInsert.Parameters.AddWithValue("@IdContrato", item.IdContrato);

                    if (cmdInsert.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        cmdInsert             = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdInsert.Transaction = _trans;
                        item.Id = Convert.ToInt32(cmdInsert.ExecuteScalar());
                        item.Sucursales[0].IdUserEmp = Convert.ToInt32(item.Id);
                    }
                    cmdInsert = new MySqlCommand("Insert into acssucursal values (null,null,@IdUserEmp,@IdRol,@IdSucursal)", _con, _trans);
                    cmdInsert.Parameters.AddWithValue("@IdUserEmp", item.Id);
                    cmdInsert.Parameters.AddWithValue("@IdRol", item.Sucursales[0].IdRol);
                    cmdInsert.Parameters.AddWithValue("@IdSucursal", item.Sucursales[0].IdSucursal);

                    if (cmdInsert.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        cmdInsert             = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdInsert.Transaction = _trans;
                        item.Sucursales[0].Id = Convert.ToInt32(cmdInsert.ExecuteScalar());
                    }
                    foreach (LstPermiso obj in item.Sucursales[0].Permisos)
                    {
                        cmdInsert = new MySqlCommand("Insert into lstpermiso values (null,null,@Otorgado,@IdPermiso,@IdAcsSucursal)", _con, _trans);
                        cmdInsert.Parameters.AddWithValue("@Otorgado", obj.Otorgado ? 1 : 0);
                        cmdInsert.Parameters.AddWithValue("@IdPermiso", obj.IdPermiso);
                        cmdInsert.Parameters.AddWithValue("@IdAcsSucursal", item.Sucursales[0].Id);

                        if (cmdInsert.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        else
                        {
                            cmdInsert             = new MySqlCommand("select last_insert_id() as id;", _con);
                            cmdInsert.Transaction = _trans;
                            obj.Id = Convert.ToInt32(cmdInsert.ExecuteScalar());
                        }
                    }
                    if (result)
                    {
                        cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Registró el usuario con Id \"" + item.Id + "\", Login \"" + item.Login + "\", Id de Contrato \"" + item.IdContrato + "\", Empleado \"" + item.Contrato.Empleado.Persona.Nombre + "\".");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Inserción");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Usuario");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 21
0
        public static bool UpdateUserEmp(Useremp item, string opc, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdUpdateUserEmp   = null;
                    MySqlCommand cmdInsertAuditoria = null;
                    switch (opc)
                    {
                    case "pwd":
                        cmdUpdateUserEmp = new MySqlCommand("update useremp set Pass=md5(@Pass) where Id=@Id;", _con, _trans);
                        cmdUpdateUserEmp.Parameters.AddWithValue("@Pass", item.Pass);
                        cmdUpdateUserEmp.Parameters.AddWithValue("@Id", item.Id);
                        if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó la contraseña para el usuario con Id \"" + item.Id + "\", Login \"" + item.Login + "\".");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de contraseña");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Usuario");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        break;

                    case "all":
                        if (item.Pass == "")
                        {
                            cmdUpdateUserEmp = new MySqlCommand("update useremp set Login=@Login,Estado=@Estado,IdContrato=@IdContrato where Id=@Id;", _con, _trans);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@Login", item.Login);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@IdContrato", item.IdContrato);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@Estado", item.Estado);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@Id", item.Id);
                            if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                            cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó la información para el usuario con Id \"" + item.Id + "\", Login \"" + item.Login + "\".");
                            cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de información");
                            cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Usuario");
                            cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                            if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                        else
                        {
                            cmdUpdateUserEmp = new MySqlCommand("update useremp set Login=@Login,Estado=@Estado,IdContrato=@IdContrato,Pass=md5(@Pass) where Id=@Id;", _con, _trans);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@Login", item.Login);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@IdContrato", item.IdContrato);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@Pass", item.Pass);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@Estado", item.Estado);
                            cmdUpdateUserEmp.Parameters.AddWithValue("@Id", item.Id);
                            if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                            cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                            cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Actualizó la información para el usuario con Id \"" + item.Id + "\", Login \"" + item.Login + "\".");
                            cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de información y contraseña");
                            cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Usuario");
                            cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                            if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                            {
                                result = false;
                            }
                        }
                        foreach (AcsSucursal suc in item.Sucursales)
                        {
                            foreach (LstPermiso obj in suc.Permisos)
                            {
                                if (obj.Id == 0)
                                {
                                    cmdUpdateUserEmp = new MySqlCommand("insert into lstpermiso(null,null,@Otorgado,@IdPermiso,@IdAcsSucursal);", _con, _trans);
                                    cmdUpdateUserEmp.Parameters.AddWithValue("@Otorgado", obj.Otorgado ? 1 : 0);
                                    cmdUpdateUserEmp.Parameters.AddWithValue("@IdPermiso", obj.IdPermiso);
                                    cmdUpdateUserEmp.Parameters.AddWithValue("@IdAcsSucursal", suc.Id);
                                    if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                                    cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Se inserto un permiso con Id \"" + obj.Id + "\" descripción \"" + obj.Permiso.Nombre + "\" al Login \"" + item.Login + "\".");
                                    cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Inserción de Permiso");
                                    cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Permiso");
                                    cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                                    if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                }
                                else
                                {
                                    cmdUpdateUserEmp = new MySqlCommand("update lstpermiso set Otorgado=@Otorgado where Id=@Id;", _con, _trans);
                                    cmdUpdateUserEmp.Parameters.AddWithValue("@Otorgado", obj.Otorgado ? 1 : 0);
                                    cmdUpdateUserEmp.Parameters.AddWithValue("@Id", obj.Id);
                                    if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0)
                                    {
                                        result = false;
                                    }
                                    if (LstPermisoDAL.getLstPermisoById(obj.Id).Otorgado != obj.Otorgado)
                                    {
                                        cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Se actualizó el registro de lstpermiso con Id \"" + obj.Id + "\" del permiso con descripción \"" + obj.Permiso.Nombre + "\" al Login \"" + item.Login + "\" .");
                                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Actualización de Permisos");
                                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Permiso");
                                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                                        {
                                            result = false;
                                        }
                                    }
                                }
                            }
                        }
                        if (cmdUpdateUserEmp.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        break;

                    default:
                        break;
                    }


                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 22
0
        public static bool anularFactura(Int64 pIdFactura, bool isParent, Useremp pUser)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    List <Factura> facturas = new List <Factura>();
                    MySqlCommand   comandoParentReservas = new MySqlCommand("select f.Id from factura as f inner join detfactura as df on df.IdFactura=f.Id where f.Id=@pIdFactura", _con);
                    if (isParent)
                    {
                        comandoParentReservas = new MySqlCommand("select distinct f.Id from factura as f inner join detfactura as df on df.IdFactura=f.Id where df.RefNFactura=(select Nfactura from factura where Id=@pIdFactura)", _con);
                    }
                    comandoParentReservas.Parameters.AddWithValue("@pIdFactura", pIdFactura);

                    MySqlDataReader _reader = comandoParentReservas.ExecuteReader();
                    while (_reader.Read())
                    {
                        Factura item = new Factura(
                            _reader.GetInt64(0),
                            null,
                            null,
                            null,
                            0,
                            null,
                            0,
                            0,
                            DetFacturaDAL.getDetsfacturaByIdFactura(_reader.GetInt64(0))
                            );

                        facturas.Add(item);
                    }
                    _reader.Close();
                    foreach (Factura obj in facturas)
                    {
                        MySqlCommand cmdUpdateFactura = new MySqlCommand("update factura set Estado='A' where Id=@pIdFactura ", _con, _trans);
                        cmdUpdateFactura.Parameters.AddWithValue("@pIdFactura", obj.Id);
                        if (cmdUpdateFactura.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                        foreach (Detfactura det in obj.DetsFactura)
                        {
                            if (det.Tipo == "M")
                            {
                                MySqlCommand cmdUpdateCuota = new MySqlCommand("update cuota set Total=(Total-@pTotal) where Id=@pId ", _con, _trans);
                                cmdUpdateCuota.Parameters.AddWithValue("@pTotal", det.Total);
                                cmdUpdateCuota.Parameters.AddWithValue("@pId", det.Matricdetfac.IdCuota);

                                if (cmdUpdateCuota.ExecuteNonQuery() <= 0)
                                {
                                    result = false;
                                }
                            }
                        }
                    }

                    if (result)
                    {
                        MySqlCommand cmdInsertAuditoria = new MySqlCommand("Insert into regemphist (Detalle,Accion,TipoRegistro,IdUserEmp) values (@Detalle,@Accion,@TipoRegistro,@IdUserEmp)", _con, _trans);
                        cmdInsertAuditoria.Parameters.AddWithValue("@Detalle", "Anuló la factura con \"Numero de factura " + FacturaDAL.getFacturaById(pIdFactura).NFactura + "\".");
                        cmdInsertAuditoria.Parameters.AddWithValue("@Accion", "Anular Factura");
                        cmdInsertAuditoria.Parameters.AddWithValue("@TipoRegistro", "Factura");
                        cmdInsertAuditoria.Parameters.AddWithValue("@IdUserEmp", pUser.Id);
                        if (cmdInsertAuditoria.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }
Ejemplo n.º 23
0
        public static bool InsertUserEmpConf(Useremp item, Sucursal itemSucursal)
        {
            bool result = true;

            using (MySqlConnection _con = new Conexion().Conectar())
            {
                _con.Open();
                MySqlTransaction _trans = _con.BeginTransaction();
                try
                {
                    MySqlCommand cmdInsertRol = new MySqlCommand("Insert into rol (Nombre) values (@Nombre)", _con, _trans);
                    cmdInsertRol.Parameters.AddWithValue("@Nombre", item.Sucursales[0].Rol.Nombre);

                    if (cmdInsertRol.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction   = _trans;
                        item.Sucursales[0].IdRol  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        item.Sucursales[0].Rol.Id = item.Sucursales[0].IdRol;
                    }
                    MySqlCommand cmdInsertRoles = new MySqlCommand("Insert into rol values (2,'Secretario/a'),(3,'Docente'),(4,'Administrador')", _con, _trans);

                    if (cmdInsertRoles.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    MySqlCommand cmdInsertSucursal = new MySqlCommand("Insert into sucursal (Nombre,Direccion) values (@Nombre,@Direccion)", _con, _trans);
                    cmdInsertRol.Parameters.AddWithValue("@Nombre", itemSucursal.Nombre);
                    cmdInsertRol.Parameters.AddWithValue("@Direccion", itemSucursal.Direccion);

                    if (cmdInsertRol.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction        = _trans;
                        item.Sucursales[0].IdSucursal  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        item.Sucursales[0].Sucursal.Id = item.Sucursales[0].IdSucursal;
                    }


                    MySqlCommand cmdInsertPersona = new MySqlCommand("Insert into persona (Nombre,Dui,Nit,FechaNac,Direccion) values (@Nombre,@Dui,@Nit,@FechaNac,@Direccion)", _con, _trans);
                    cmdInsertPersona.Parameters.AddWithValue("@Nombre", item.Contrato.Empleado.Persona.Nombre);
                    cmdInsertPersona.Parameters.AddWithValue("@Dui", item.Contrato.Empleado.Persona.Dui);
                    cmdInsertPersona.Parameters.AddWithValue("@Nit", item.Contrato.Empleado.Persona.Nit);
                    cmdInsertPersona.Parameters.AddWithValue("@FechaNac", item.Contrato.Empleado.Persona.FechaNac);
                    cmdInsertPersona.Parameters.AddWithValue("@Direccion", item.Contrato.Empleado.Persona.Direccion);
                    if (cmdInsertPersona.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction           = _trans;
                        item.Contrato.Empleado.Persona.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        item.Contrato.Empleado.IdPersona  = item.Contrato.Empleado.Persona.Id;
                    }

                    MySqlCommand cmdInsertEmpleado = new MySqlCommand("Insert into empleado (Telefono,Correo,IdPersona) values (@Telefono,@Correo,@IdPersona)", _con, _trans);
                    cmdInsertEmpleado.Parameters.AddWithValue("@Telefono", item.Contrato.Empleado.Telefono);
                    cmdInsertEmpleado.Parameters.AddWithValue("@Correo", item.Contrato.Empleado.Correo);
                    cmdInsertEmpleado.Parameters.AddWithValue("@IdPersona", item.Contrato.Empleado.Persona.Id);

                    if (cmdInsertEmpleado.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction   = _trans;
                        item.Contrato.Empleado.Id = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        item.Contrato.IdEmpleado  = item.Contrato.Empleado.Id;
                    }
                    MySqlCommand cmdInsertCargo = new MySqlCommand("Insert into cargo (Nombre) values (@Nombre)", _con, _trans);
                    cmdInsertCargo.Parameters.AddWithValue("@Nombre", item.Contrato.Cargo.Nombre);

                    if (cmdInsertCargo.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Contrato.Cargo.Id  = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        item.Contrato.IdCargo   = item.Contrato.Cargo.Id;
                    }

                    MySqlCommand cmdInsertContrato = new MySqlCommand("Insert into contrato (FhInicio,Estado,IdCargo,IdEmpleado) values (@FhInicio,@Estado,@IdCargo,@IdEmpleado)", _con, _trans);
                    cmdInsertContrato.Parameters.AddWithValue("@FhInicio", DateTime.Now.ToString("yyyy-MM-dd"));
                    cmdInsertContrato.Parameters.AddWithValue("@Estado", "A");
                    cmdInsertContrato.Parameters.AddWithValue("@IdCargo", item.Contrato.IdCargo);
                    cmdInsertContrato.Parameters.AddWithValue("@IdEmpleado", item.Contrato.Empleado.Id);

                    if (cmdInsertContrato.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.IdContrato         = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                        item.Contrato.Id        = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }
                    MySqlCommand cmdInsertUsuarioEmp = new MySqlCommand("Insert into useremp(Login,Pass,IdContrato)" +
                                                                        " values (@Login,md5(@Pass),@IdContrato)", _con, _trans);
                    cmdInsertUsuarioEmp.Parameters.AddWithValue("@Login", item.Login);
                    cmdInsertUsuarioEmp.Parameters.AddWithValue("@Pass", item.Pass);
                    cmdInsertUsuarioEmp.Parameters.AddWithValue("@IdContrato", item.IdContrato);

                    if (cmdInsertUsuarioEmp.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    MySqlCommand cmdInsertCargos = new MySqlCommand("Insert into cargo (Nombre) values ('Director');Insert into cargo (Nombre) values ('Docente');Insert into cargo (Nombre) values ('Secretario/a')", _con, _trans);
                    if (cmdInsertCargos.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    MySqlCommand cmdInsertAcsSucursal = new MySqlCommand("Insert into acssucursal (IdUserEmp,IdRol,IdSucursal) values (@IdUserEmp,@IdRol,@IdSucursal)", _con, _trans);
                    cmdInsertAcsSucursal.Parameters.AddWithValue("@IdUserEmp", item.Id);
                    cmdInsertAcsSucursal.Parameters.AddWithValue("@IdRol", item.Sucursales[0].IdRol);
                    cmdInsertAcsSucursal.Parameters.AddWithValue("@IdSucursal", item.Sucursales[0].IdSucursal);

                    if (cmdInsertAcsSucursal.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    else
                    {
                        MySqlCommand cmdUltimoId = new MySqlCommand("select last_insert_id() as id;", _con);
                        cmdUltimoId.Transaction = _trans;
                        item.Sucursales[0].Id   = Convert.ToInt32(cmdUltimoId.ExecuteScalar());
                    }
                    // asignacion de permisos al acceso de sucursal
                    MySqlCommand cmdInsertPermisos = new MySqlCommand("Insert into permiso values" +
                                                                      "(1,'Gestionar Matriculas','Gestionar Matriculas')," +
                                                                      "(2,'Matricular Estudiantes','Gestionar Matriculas')," +
                                                                      "(3,'Editar Matriculas','Gestionar Matriculas')," +
                                                                      "(4,'Desertar Estudiantes','Gestionar Matriculas')," +
                                                                      "(5,'Gestionar Empleados','Gestionar Empleados')," +
                                                                      "(6,'Crear Empleados','Gestionar Empleados')," +
                                                                      "(7,'Editar Empleados','Gestionar Empleados')," +
                                                                      "(8,'Crear Contratos','Gestionar Empleados')," +
                                                                      "(9,'Editar Contratos','Gestionar Empleados')," +
                                                                      "(10,'Terminar Contratos','Gestionar Empleados')," +
                                                                      "(11,'Gestionar Cursos','Gestionar Cursos')," +
                                                                      "(12,'Crear Cursos','Gestionar Cursos')," +
                                                                      "(13,'Editar Cursos','Gestionar Cursos')," +
                                                                      "(14,'Anular Cursos','Gestionar Cursos')," +
                                                                      "(15,'Gestionar Ingresos','Gestionar Ingresos')," +
                                                                      "(16,'Registrar Ingresos','Gestionar Ingresos')," +
                                                                      "(17,'Anular Ingresos','Gestionar Ingresos')," +
                                                                      "(18,'Exportar Ingresos y Egresos del mes','Gestionar Ingresos')," +
                                                                      "(19,'Gestionar Egresos','Gestionar Egresos')," +
                                                                      "(20,'Registrar Egresos','Gestionar Egresos')," +
                                                                      "(21,'Editar Egresos','Gestionar Egresos')," +
                                                                      "(22,'Anular Egresos','Gestionar Egresos')," +
                                                                      "(23,'Gestionar Ajustes del Sistema','Gestionar Ajustes del Sistema')," +
                                                                      "(24,'Configurar Conexión de base de datos','Gestionar Ajustes del Sistema')," +
                                                                      "(25,'Importar base de datos','Gestionar Ajustes del Sistema')," +
                                                                      "(26,'Exportar base de datos','Gestionar Ajustes del Sistema')"
                                                                      , _con, _trans);

                    if (cmdInsertUsuarioEmp.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    List <Permiso> permisos = PermisoDAL.getPermisos();
                    foreach (Permiso obj in permisos)
                    {
                        MySqlCommand cmdInsertLstPermiso = new MySqlCommand("Insert into lstpermiso values (null,CURRENT_TIMESTAMP,1,@Permiso,@AcsSucursal)", _con, _trans);
                        cmdInsertContrato.Parameters.AddWithValue("@Permiso", obj.Id);
                        cmdInsertContrato.Parameters.AddWithValue("@AcsSucursal", item.Sucursales[0].Id);
                        if (cmdInsertCargos.ExecuteNonQuery() <= 0)
                        {
                            result = false;
                        }
                    }
                    MySqlCommand cmdInsertLstPermisoRol1 = new MySqlCommand("Insert into lstpermisorol values " +
                                                                            "(null,CURRENT_TIMESTAMP,1,1)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,2)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,3)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,4)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,5)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,6)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,7)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,8)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,9)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,10)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,11)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,12)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,13)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,14)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,15)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,16)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,17)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,18)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,19)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,20)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,21)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,22)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,23)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,24)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,25)," +
                                                                            "(null,CURRENT_TIMESTAMP,1,26)"
                                                                            , _con, _trans);
                    if (cmdInsertLstPermisoRol1.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }
                    MySqlCommand cmdInsertLstPermisoRol2 = new MySqlCommand("Insert into lstpermisorol values " +
                                                                            "(null,CURRENT_TIMESTAMP,2,1)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,2)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,3)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,4)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,5)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,6)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,7)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,8)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,9)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,11)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,12)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,13)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,15)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,16)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,18)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,19)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,20)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,21)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,22)," +
                                                                            "(null,CURRENT_TIMESTAMP,2,23)"
                                                                            , _con, _trans);
                    if (cmdInsertLstPermisoRol2.ExecuteNonQuery() <= 0)
                    {
                        result = false;
                    }

                    if (result)
                    {
                        _trans.Commit();
                    }
                    else
                    {
                        _trans.Rollback();
                    }
                }
                catch (Exception ex)
                {
                    _con.Close();
                    throw ex;
                }
                finally
                {
                    _con.Close();
                }
            }
            return(result);
        }