示例#1
0
        public Boolean EditarHorario(HorarioDTO item, String usuario)
        {
            SqlCommand cmd      = null;
            Boolean    modifico = false;

            try
            {
                SqlConnection cn = Conexion.Instancia.conectar();
                cmd = new SqlCommand("GC_EDITAR_HORARIO_SP", cn);
                cmd.Parameters.AddWithValue("@ID", item.Id);
                cmd.Parameters.AddWithValue("@MEDICOID", item.MedicoId);
                cmd.Parameters.AddWithValue("@FECHAATENCION", item.FechaAtencion);
                cmd.Parameters.AddWithValue("@INICIOATENCION", item.HoraInicio);
                cmd.Parameters.AddWithValue("@FINATENCION", item.HoraFin);
                cmd.Parameters.AddWithValue("@ACTIVO", item.Activo);
                cmd.Parameters.AddWithValue("@USUARIOMODIFICACION", usuario);
                cmd.CommandType = CommandType.StoredProcedure;
                cn.Open();
                int i = cmd.ExecuteNonQuery();
                if (i > 0)
                {
                    modifico = true;
                }
                return(modifico);
            }
            catch (Exception e) { throw e; }
            finally { if (cmd != null)
                      {
                          cmd.Connection.Close();
                      }
            }
        }
示例#2
0
        public List <HorarioDTO> ListarHorariosPorMedico(Int32 medicoId)
        {
            SqlCommand        cmd   = null;
            List <HorarioDTO> lista = new List <HorarioDTO>();

            try
            {
                SqlConnection cn = Conexion.Instancia.conectar();
                cmd             = new SqlCommand("GC_LEER_HORARIOS_POR_MEDICO_SP", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@MEDICOID", medicoId);
                cn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    HorarioDTO objHorario = new HorarioDTO();
                    objHorario.Id            = Convert.ToInt16(dr["ID"]);
                    objHorario.MedicoId      = Convert.ToInt32(dr["MEDICOID"]);
                    objHorario.FechaAtencion = Convert.ToDateTime(dr["FECHAATENCION"]);
                    objHorario.HoraInicio    = TimeSpan.Parse(dr["INICIOATENCION"].ToString());
                    objHorario.HoraFin       = TimeSpan.Parse(dr["FINATENCION"].ToString());
                    objHorario.Activo        = Convert.ToBoolean(dr["ACTIVO"]);
                    lista.Add(objHorario);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally { cmd.Connection.Close(); }
            return(lista);
        }
示例#3
0
        public Int32 GrabarHorario(HorarioDTO item, String usuario)
        {
            SqlCommand cmd      = null;
            Int16      PKCreado = 0;

            try
            {
                SqlConnection cn = Conexion.Instancia.conectar();
                cmd             = new SqlCommand("GC_INSERTAR_HORARIO_SP", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@MEDICOID", item.MedicoId);
                cmd.Parameters.AddWithValue("@FECHAATENCION", item.FechaAtencion);
                cmd.Parameters.AddWithValue("@INICIOATENCION", item.HoraInicio);
                cmd.Parameters.AddWithValue("@FINATENCION", item.HoraFin);
                cmd.Parameters.AddWithValue("@USUARIOREGISTRO", usuario);
                cn.Open();
                PKCreado = Convert.ToInt16(cmd.ExecuteScalar());
            }
            catch (Exception e)
            {
                throw e;
            }
            finally { cmd.Connection.Close(); }
            return(PKCreado);
        }
示例#4
0
        public Boolean Altera(HorarioDTO pHorarioDTO)
        {
            try
            {
                DataTable       dt          = new DataTable();
                MySqlConnection Conexao     = new MySqlConnection(StrCon);
                StringBuilder   vSQLCommand = new StringBuilder();
                vSQLCommand.AppendLine("UPDATE horario SET");
                vSQLCommand.AppendLine("HORARIO = @HORARIO ");
                vSQLCommand.AppendLine(" WHERE 1 = 1 ");

                if (pHorarioDTO.Identificador != default(int))
                {
                    vSQLCommand.AppendLine("and idHorario = @idHorario ");
                }

                MySqlCommand com = new MySqlCommand(vSQLCommand.ToString(), Conexao);
                com.Parameters.Add(new MySqlParameter("@idHorario", pHorarioDTO.Identificador));

                com.Parameters.Add(new MySqlParameter("@Horario", pHorarioDTO.Horario));
                Conexao.Open();
                //dt.Load(com.ExecuteReader());
                com.ExecuteReader();
                Conexao.Close();

                return(true);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     data      = Request.QueryString["data"];
     idHorario = Request.QueryString["idHorario"];
     idVenda   = Request.QueryString["idVenda"];
     if (data == null || idHorario == null || idVenda == null)
     {
         ScriptManager.RegisterStartupScript(this, this.GetType(), "alerta", "alert('Dados para agendamento incompletos!'); window.location.href='" + PaginaDeAgendamento + "';", true);
     }
     else
     {
         AgendamentoCT agendamentoCT             = new AgendamentoCT();
         DataTable     dtFuncionariosDisponiveis = agendamentoCT.SelecionarPorFiltroDataHorario(data, idHorario);
         if (dtFuncionariosDisponiveis.Rows.Count == 0)
         {
             ScriptManager.RegisterStartupScript(this, this.GetType(), "alerta", "alert('Funcionário indisponível para agendamento!'); window.location.href='" + PaginaDeAgendamento + "';", true);
         }
         else
         {
             ddlFuncionario.DataSource     = dtFuncionariosDisponiveis;
             ddlFuncionario.DataValueField = "idFuncionario";
             ddlFuncionario.DataTextField  = "nome";
             ddlFuncionario.DataBind();
             HorarioCT  horarioCT  = new HorarioCT();
             HorarioDTO horarioDTO = new HorarioDTO();
             horarioDTO.Identificador = Convert.ToInt32(idHorario);
             DataTable dtHorario = horarioCT.SelecionarPorFiltro(horarioDTO);
             if (dtHorario.Rows.Count > 0)
             {
                 txtHorario.Text = FormataHorario(dtHorario.Rows[0]["horario"].ToString());
             }
             txtData.Text = data;
         }
     }
 }
示例#6
0
        public RespuestaSistema GrabarHorario(HorarioDTO item, String usuario)
        {
            RespuestaSistema objResultado = new RespuestaSistema();

            try
            {
                objResultado.Correcto = Valida(item);
                objResultado.Mensaje  = Mensaje;
                if (objResultado.Correcto)
                {
                    int intPk;
                    if (item.Id == -1)
                    {
                        intPk = HorarioDAL.Instancia.GrabarHorario(item, usuario);
                        if (intPk > 0)
                        {
                            objResultado.Mensaje  = MensajeSistema.OK_SAVE;
                            objResultado.Correcto = true;
                        }
                    }
                    else
                    {
                        objResultado.Mensaje  = MensajeSistema.OK_UPDATE;
                        objResultado.Correcto = HorarioDAL.Instancia.EditarHorario(item, usuario);
                    }
                }
            }
            catch (Exception ex)
            {
                objResultado.Mensaje  = string.Format("{0}\r{1}", MensajeSistema.ERROR_SAVE, ex.Message);
                objResultado.Correcto = false;
            }
            return(objResultado);
        }
示例#7
0
        public Boolean Insere(HorarioDTO pHorarioDTO)
        {
            try
            {
                MySqlConnection Conexao     = new MySqlConnection(StrCon);
                StringBuilder   vSQLCommand = new StringBuilder();
                vSQLCommand.AppendLine("INSERT INTO horario(");
                vSQLCommand.AppendLine("HORARIO) values (");
                //com.Parameters.Add(new MySqlParameter("@idHorario", pDTO.Identificador));
                vSQLCommand.AppendLine(" @Horario)");
                MySqlCommand com = new MySqlCommand(vSQLCommand.ToString(), Conexao);
                //com.Parameters.Add(new MySqlParameter("@idHorario", pDTO.Identificador));

                com.Parameters.Add(new MySqlParameter("@Horario", pHorarioDTO.Horario));
                Conexao.Open();
                //dt.Load(com.ExecuteReader());
                com.ExecuteReader();
                Conexao.Close();

                return(true);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#8
0
 public object Post(HorarioDTO @new)
 {
     try
     {
         using (var context = new AcademicSystemContext())
         {
             context.Horarios.Add(new Horario
             {
                 Asignatura = context.PeriodAsignature
                              .Where(a => a.PeriodAsignatureID == @new.PeriodAsigID)
                              .FirstOrDefault(),
                 Aula      = context.Rooms.Where(r => r.RoomID == @new.roomID).FirstOrDefault(),
                 Day       = @new.day,
                 HourInit  = @new.FechaInit,
                 HourUntil = @new.FechaFin
             });
             context.SaveChanges();
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest));
     }
 }
示例#9
0
        public HorarioDTO ConfirmarDisponibilidadeHorario(HorarioDTO dto, int pPeriodoID)
        {
            try
            {
                BaseDados.ComandText = "stp_ACA_HORARIO_VALIDACAO";

                BaseDados.AddParameter("@DIA", dto.HorDiaSemana);
                BaseDados.AddParameter("@INICIO", dto.HorInicio);
                BaseDados.AddParameter("@TERMINO", dto.HorTermino);
                BaseDados.AddParameter("@DOCENTE_ID", dto.HorDocente.Codigo <= 0 ? (object)DBNull.Value : dto.HorDocente.Codigo);
                BaseDados.AddParameter("@TURMA_ID", dto.HorTurma.Codigo);
                BaseDados.AddParameter("@DISCIPLINA_ID", dto.HorDisiciplina.Codigo);
                BaseDados.AddParameter("@UTILIZADOR", dto.Utilizador);
                BaseDados.AddParameter("@PERIODO_ID", pPeriodoID);

                var sucesso = BaseDados.ExecuteInsert();
                dto.Sucesso      = sucesso == 1 ? true : false;
                dto.MensagemErro = sucesso == -1 ? "O Professor, " + dto.HorDocente.Nome + " já tem aula agendada para no Horário de " + dto.Horario : "";
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }finally
            {
                BaseDados.FecharConexao();
            }

            return(dto);
        }
示例#10
0
        public HorarioDTO ObtenerHorario(Int32 horarioId)
        {
            SqlCommand cmd  = null;
            HorarioDTO item = null;

            try
            {
                SqlConnection cn = Conexion.Instancia.conectar();
                cmd             = new SqlCommand("GC_LEER_HORARIO_SP", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ID", horarioId);
                cn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    item               = new HorarioDTO();
                    item.Id            = Convert.ToInt32(dr["ID"]);
                    item.MedicoId      = Convert.ToInt32(dr["MEDICOID"]);
                    item.FechaAtencion = Convert.ToDateTime(dr["FECHAATENCION"]);
                    item.HoraInicio    = TimeSpan.Parse(dr["INICIOATENCION"].ToString());
                    item.HoraFin       = TimeSpan.Parse(dr["FINATENCION"].ToString());
                    item.Activo        = Convert.ToBoolean(dr["ACTIVO"]);
                }
                return(item);
            }
            catch (Exception e) { throw e; }
            finally { if (cmd != null)
                      {
                          cmd.Connection.Close();
                      }
            }
        }
示例#11
0
        public List <HorarioDTO> ObterPorFiltro(HorarioDTO dto)
        {
            List <HorarioDTO> lista = new List <HorarioDTO>();

            try
            {
                BaseDados.ComandText = "stp_ACA_HORARIO_OBTERPORFILTRO";


                BaseDados.AddParameter("@HORA", -1);
                BaseDados.AddParameter("@TURMA", dto.HorTurma.Codigo);
                BaseDados.AddParameter("@CURSO", dto.HorTurma.Curso);
                BaseDados.AddParameter("@PERIODO", dto.HorPeriodo);
                BaseDados.AddParameter("@ANO", dto.HorAnoLectivo.AnoCodigo);
                BaseDados.AddParameter("@FILIAL", dto.Filial);

                MySqlDataReader dr = BaseDados.ExecuteReader();

                while (dr.Read())
                {
                    dto = new HorarioDTO();

                    dto.HorInicio  = int.Parse(dr["HOR_INICIO"].ToString());
                    dto.HorTermino = int.Parse(dr["HOR_TERMINO"].ToString());

                    TurmaDTO dtoTurma = new TurmaDTO();
                    dtoTurma.Codigo = int.Parse(dr["HOR_CODIGO_TURMA"].ToString());
                    dtoTurma.Sigla  = dr["TURMA"].ToString();
                    dtoTurma.Turno  = dr["TUR_TURNO"].ToString();
                    dtoTurma.Classe = int.Parse(dr["PLAN_CODIGO"].ToString());
                    dto.HorTurma    = dtoTurma;
                    UnidadeCurricularDTO dtoDisciplina = new UnidadeCurricularDTO();

                    dtoDisciplina.Conteudo        = dr["COOR_DESCRICAO"].ToString();
                    dtoDisciplina.PlanoCurricular = new AnoCurricularDTO(int.Parse(dr["PLAN_CODIGO"].ToString()), new RamoDTO(int.Parse(dr["CUR_CODIGO"].ToString()), dr["CUR_ESPECIFICACAO"].ToString(), null, "", 0, 0, 1, ""),
                                                                         -1, dr["ANO_CURRICULAR"].ToString(), dr["CURSO"].ToString());
                    dto.HorDisiciplina = dtoDisciplina;
                    dto.SegundaFeira   = dr["HOR_SEGUNDA"].ToString();
                    dto.TercaFeira     = dr["HOR_TERCA"].ToString();
                    dto.QuartaFeira    = dr["HOR_QUARTA"].ToString();
                    dto.QuintaFeira    = dr["HOR_QUINTA"].ToString();
                    dto.SextaFeira     = dr["HOR_SEXTA"].ToString();
                    dto.Sabado         = dr["HOR_SABADO"].ToString();
                    dto.Horario        = HorarioAula(dto.HorInicio, dto.HorTermino);
                    lista.Add(dto);
                }
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(lista);
        }
示例#12
0
 public DataTable SelecionarPorFiltroPesquisar(HorarioDTO pHorarioDTO)
 {
     try
     {
         return(HorarioDAO.Selecionar(pHorarioDTO));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#13
0
 public Boolean Insere(HorarioDTO pHorarioDTO)
 {
     try
     {
         return(HorarioDAO.Insere(pHorarioDTO));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#14
0
 public Boolean Altera(HorarioDTO pHorarioDTO)
 {
     try
     {
         return(HorarioDAO.Altera(pHorarioDTO));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#15
0
 public Boolean Excluir(HorarioDTO pHorarioDTO)
 {
     try
     {
         return(HorarioDAO.Excluir(pHorarioDTO));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#16
0
        public Boolean Valida(HorarioDTO item)
        {
            Mensaje = "";
            Boolean           resultado     = false;
            List <HorarioDTO> horarioMedico = null;

            if (item.MedicoId <= 0)
            {
                Mensaje += "Por favor, debe indicar el medico\n\r";
            }
            if (item.FechaAtencion == DateTime.Parse("0001-01-01"))
            {
                Mensaje += "Por favor, debe indicar la fecha de atención\n\r";
            }
            if (item.HoraInicio == TimeSpan.Parse("00:00"))
            {
                Mensaje += "Por favor, debe indicar la hora inicio de la cita\n\r";
            }
            if (item.HoraFin == TimeSpan.Parse("00:00"))
            {
                Mensaje += "Por favor, debe indicar la hora fin de la cita\n\r";
            }
            if (item.HoraInicio != TimeSpan.Parse("00:00") && item.HoraFin != TimeSpan.Parse("00:00"))
            {
                if (item.HoraInicio >= item.HoraFin)
                {
                    Mensaje += "La hora inicio no puede ser mayor o igual que la hora fin del horario\n\r";
                }

                if (item.MedicoId > 0 && item.FechaAtencion != DateTime.Parse("0001-01-01"))
                {
                    horarioMedico = HorarioBLL.Instancia.ListarHorariosPorMedico(item.MedicoId)
                                    .Where(
                        x =>
                        x.Id != item.Id && x.Activo == true &&
                        x.FechaAtencion == item.FechaAtencion &&
                        ((item.HoraInicio >= x.HoraInicio && item.HoraInicio < x.HoraFin) || (item.HoraFin > x.HoraInicio && item.HoraFin <= x.HoraFin))
                        ).ToList();

                    if (horarioMedico == null || horarioMedico.Count > 0)
                    {
                        Mensaje += "El horario indicado no puede ser registrado,\n\rporque ya existe un horario asignado dentro del rango de horas indicado";
                    }
                }
            }

            if (Mensaje == "")
            {
                resultado = true;
            }

            return(resultado);
        }
示例#17
0
        /// <summary>
        ///     Diferencia en horas de una cita para poder ser cancelada
        /// </summary>
        /// <param name="HorarioDto"></param>
        /// <param name="HorasAntelacion"></param>
        /// <param name="Horas"></param>
        private void DiferenciaHorario(HorarioDTO HorarioDto, out double HorasAntelacion, out double Horas)
        {
            HorarioDto.Fecha = HorarioDto.Fecha.Date.Add(HorarioDto.HoraInicio);
            var fecha = DateTime.Today;

            var diferencia = HorarioDto.Fecha - fecha;

            Horas = diferencia.TotalHours;
            var configuracionDao = new ConfiguracionDAO();
            var valor            = configuracionDao.GetValorConfiguracion(Enumeracion.EnumSysConfiguracion.LimiteCancelacionCita);
            var result           = double.TryParse(valor, out HorasAntelacion);

            if (!result)
            {
                HorasAntelacion = 24;
            }
        }
示例#18
0
        public DataTable SelecionarPesquisar(HorarioDTO pHorarioDTO)
        {
            try
            {
                DataTable       dt      = new DataTable();
                MySqlConnection Conexao = new MySqlConnection(StrCon);

                StringBuilder vSQLCommand = new StringBuilder();
                vSQLCommand = new StringBuilder();
                vSQLCommand.AppendLine(" SELECT                    ");

                vSQLCommand.AppendLine(" IDHORARIO,");
                vSQLCommand.AppendLine(" HORARIO");

                vSQLCommand.AppendLine(" FROM HORARIO");

                vSQLCommand.AppendFormat(" WHERE (1=1) idHorario ");

                if (pHorarioDTO.Identificador != default(int))
                {
                    vSQLCommand.AppendLine("and idHorario = @idHorario ");
                }

                MySqlCommand com = new MySqlCommand(vSQLCommand.ToString(), Conexao);

                if (pHorarioDTO.Identificador != default(int))
                {
                    com.Parameters.Add(new MySqlParameter("@idHorario", pHorarioDTO.Identificador));
                }

                Conexao.Open();
                dt.Load(com.ExecuteReader());
                com.ExecuteReader();
                Conexao.Close();

                return(dt);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#19
0
        public void ExcluirHorarioDocente(HorarioDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_ACA_HORARIO_DOCENTE_EXCLUIR";

                BaseDados.AddParameter("@CODIGO", dto.HorCodigo);

                BaseDados.ExecuteNonQuery();
                dto.Sucesso = true;
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }
        }
示例#20
0
        public void Apagar(HorarioDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_ACA_HORARIO_EXCLUIR";

                BaseDados.AddParameter("@TURMA", dto.HorTurma.Codigo);

                BaseDados.ExecuteNonQuery();
                dto.Sucesso = true;
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }
        }
示例#21
0
        public List <HorarioDTO> ObterPorDia(HorarioDTO dto)
        {
            List <HorarioDTO> lista = new List <HorarioDTO>();

            try{
                BaseDados.ComandText = "stp_ACA_HORARIO_DOCENTE_OBTERPORFILTRO";

                BaseDados.AddParameter("@DOCENTE", -1);
                BaseDados.AddParameter("@DIA", dto.HorDiaSemana);
                BaseDados.AddParameter("@DISCIPLINA", -1);
                BaseDados.AddParameter("@HORA", dto.HorInicio);
                BaseDados.AddParameter("@TURMA", dto.HorTurma.Codigo);
                BaseDados.AddParameter("@ANO", dto.HorAnoLectivo.AnoCodigo);
                BaseDados.AddParameter("@CURSO", dto.HorTurma.Curso);

                MySqlDataReader dr = BaseDados.ExecuteReader();

                while (dr.Read())
                {
                    dto = new HorarioDTO();

                    dto.HorDisiciplina = new UnidadeCurricularDTO(int.Parse(dr["HOR_DISCIPLINA"].ToString()));
                    lista.Add(dto);
                }
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(lista);
        }
示例#22
0
        public List <HorarioDTO> ObterDocentes(TurmaDTO dto)
        {
            BaseDados.ComandText = "stp_ACA_TURMA_OBTERDOCENTES";


            BaseDados.AddParameter("@TURMA", dto.Codigo);


            List <HorarioDTO> lista = new List <HorarioDTO>();

            try
            {
                MySqlDataReader dr = BaseDados.ExecuteReader();

                while (dr.Read())
                {
                    HorarioDTO turma = new HorarioDTO();


                    turma.HorDocente     = new DocenteDTO("0", dr["ENT_NOME_COMPLETO"].ToString());
                    turma.HorDisiciplina = new UnidadeCurricularDTO(dr["DIS_DESCRICAO"].ToString());
                    turma.HorTurma       = new TurmaDTO(0, 0, "", dr["AS TUR_ABREVIATURA"].ToString(), 0, 1, "", "", "-1", -1);
                    lista.Add(turma);
                }
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(lista);
        }
示例#23
0
        public HorarioDTO Salvar(HorarioDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_ACA_HORARIO_ADICIONAR";


                BaseDados.AddParameter("@TURMA", dto.HorTurma.Codigo);
                BaseDados.AddParameter("@INICIO", dto.HorInicio);
                BaseDados.AddParameter("@TERMINO", dto.HorTermino);
                BaseDados.AddParameter("@SEGUNDA", dto.SegundaFeira);
                BaseDados.AddParameter("@TERCA", dto.TercaFeira);
                BaseDados.AddParameter("@QUARTA", dto.QuartaFeira);
                BaseDados.AddParameter("@QUINTA", dto.QuintaFeira);
                BaseDados.AddParameter("@SEXTA", dto.SextaFeira);
                BaseDados.AddParameter("@SABADO", dto.Sabado);
                BaseDados.AddParameter("DURACAO", dto.Duracao);
                BaseDados.AddParameter("@ANO", dto.HorAnoLectivo.AnoCodigo);
                BaseDados.AddParameter("@PERIODO", dto.HorPeriodo);
                BaseDados.AddParameter("FILIAL", dto.Filial);
                BaseDados.AddParameter("UTILIZADOR", dto.Utilizador);
                BaseDados.ExecuteNonQuery();
                dto.Sucesso = true;
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(dto);
        }
示例#24
0
        public HorarioDTO Copiar(HorarioDTO dto)
        {
            try{
                BaseDados.ComandText = "stp_ACA_HORARIO_COPIAR";


                BaseDados.AddParameter("@ORIGEM", dto.HorCodigo);
                BaseDados.AddParameter("@DESTINO", dto.HorTurma.Codigo);

                BaseDados.ExecuteNonQuery();
                dto.Sucesso = true;
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(dto);
        }
示例#25
0
        public void ExcluirPorPK(HorarioDTO dto)
        {
            try
            {
                BaseDados.ComandText = "stp_ACA_HORARIO_EXCLUIR_SEMANA";

                BaseDados.AddParameter("@TURMA", dto.HorTurma.Codigo);
                BaseDados.AddParameter("@HORA", dto.HorInicio);
                BaseDados.AddParameter("@PERIODO", dto.HorPeriodo);
                BaseDados.AddParameter("@ANO", dto.HorAnoLectivo.AnoCodigo);

                BaseDados.ExecuteNonQuery();
                dto.Sucesso = true;
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }
        }
        /// <summary>
        ///     Horarios por mes y unidad UADyCS
        /// </summary>
        /// <param name="CalendarioDto"></param>
        /// <returns></returns>
        public List <HorarioDTO> GetBusquedaHorario(CalendarioDTO CalendarioDto)
        {
            var dias = new List <HorarioDTO>();

            using (var modelo = new ISSSTEEntities())
            {
                var hoy = DateTime.Now;

                var diasNoLaborables = (from a in modelo.TramiteUnidadAtencion
                                        join b in modelo.DiaNoLaborable on a.TramiteUnidadAtencionId equals b.TramiteUnidadAtencionId
                                        where a.TramiteUnidadAtencionId == CalendarioDto.TramiteUnidadAtencionId && b.EsActivo
                                        select b.Fecha).ToList();

                try
                {
                    for (var i = 1; i < 32; i++)
                    {
                        var valores     = CalendarioDto.IdFechaLimite.Split(',');
                        var fechaLimite = new DateTime(int.Parse(valores[0]), int.Parse(valores[1]),
                                                       int.Parse(valores[2]));

                        var fecha     = (i < 10 ? "0" + i : "" + i) + "/" + CalendarioDto.MesAnio;
                        var fechaDate = DateTime.ParseExact(fecha, "dd/MM/yyyy", CultureInfo.CurrentCulture);
                        var esHoy     = fechaDate.Year == DateTime.Now.Year &&
                                        fechaDate.Month == DateTime.Now.Month &&
                                        fechaDate.Day == DateTime.Now.Day;
                        var horarioDto = new HorarioDTO
                        {
                            Fecha             = fechaDate,
                            EsFechaAcontecida = fechaDate < hoy && !esHoy,
                            EsDiaNoLaboral    = diasNoLaborables.Contains(fechaDate),
                            EsHoy             = esHoy
                        };
                        if (horarioDto.Fecha > fechaLimite)
                        {
                            horarioDto.EsDiaNoLaboral = true;
                        }
                        dias.Add(horarioDto);
                    }
                }
                catch
                {
                    // ignored
                }

                dias = dias.Select(F =>
                {
                    if (!F.EsFechaAcontecida && !F.EsDiaNoLaboral)
                    {
                        var citasAgendadas = (from b in modelo.Solicitud
                                              where b.EsActivo && b.FechaCita.Day == F.Fecha.Day &&
                                              b.FechaCita.Month == F.Fecha.Month &&
                                              b.FechaCita.Year == F.Fecha.Year &&
                                              b.TramiteUnidadAtencionId == CalendarioDto.TramiteUnidadAtencionId
                                              select b).Count();

                        try
                        {
                            F.Capacidad = (from b in modelo.Horario
                                           where b.EsActivo && b.EsDiaEspecial && b.DiaEspecial.Fecha.Day == F.Fecha.Day &&
                                           b.DiaEspecial.Fecha.Month == F.Fecha.Month &&
                                           b.DiaEspecial.Fecha.Year == F.Fecha.Year &&
                                           b.TramiteUnidadAtencionId == CalendarioDto.TramiteUnidadAtencionId
                                           select b.Capacidad).Sum();
                        }
                        catch
                        {
                            // ignored
                        }

                        if (F.Capacidad == 0)
                        {
                            var dia = (int)F.Fecha.DayOfWeek;
                            try
                            {
                                F.Capacidad = (from b in modelo.Horario
                                               where b.EsActivo &&
                                               b.CatTipoDiaSemanaId == dia &&
                                               b.TramiteUnidadAtencionId == CalendarioDto.TramiteUnidadAtencionId
                                               select b.Capacidad).Sum();
                            }
                            catch
                            {
                                // ignored
                            }
                        }
                        F.Capacidad      -= citasAgendadas;
                        F.EsDiaDisponible = F.Capacidad > 0;
                    }
                    return(F);
                })
                       .ToList();
            }
            return(dias);
        }
示例#27
0
        public ActionResult GrabarHorario(HorarioDTO item)
        {
            var obj = HorarioBLL.Instancia.GrabarHorario(item, "prueba");

            return(Json(new { obj }));
        }
示例#28
0
        public List <HorarioDTO> ObterFormatado(HorarioDTO dto)
        {
            List <HorarioDTO> lista = new List <HorarioDTO>();

            try
            {
                BaseDados.ComandText = "stp_ACA_HORARIO_IMPRESSAO";



                BaseDados.AddParameter("@TURMA", dto.HorTurma.Codigo);
                BaseDados.AddParameter("@CURSO", dto.HorTurma.Curso);
                BaseDados.AddParameter("@PERIODO", dto.HorPeriodo);
                BaseDados.AddParameter("@ANO", dto.HorAnoLectivo.AnoCodigo);
                BaseDados.AddParameter("@FILIAL", dto.Filial);
                MySqlDataReader dr = BaseDados.ExecuteReader();

                while (dr.Read())
                {
                    dto = new HorarioDTO();

                    dto.HorInicio  = int.Parse(dr["HOR_INICIO"].ToString());
                    dto.HorTermino = int.Parse(dr["HOR_TERMINO"].ToString());

                    TurmaDTO dtoTurma = new TurmaDTO();
                    dtoTurma.Codigo = int.Parse(dr["HOR_CODIGO_TURMA"].ToString());
                    dtoTurma.Sigla  = dr["TUR_ABREVIATURA"].ToString() + " " + dr["PLAN_DESCRICAO"].ToString();
                    if (dr["TUR_TURNO"].ToString().Equals("M"))
                    {
                        dtoTurma.Turno = "MANHÃ";
                    }
                    else if (dr["TUR_TURNO"].ToString().Equals("T"))
                    {
                        dtoTurma.Turno = "TARDE";
                    }
                    else
                    {
                        dtoTurma.Turno = "NOITE";
                    }

                    dto.HorTurma     = dtoTurma;
                    dto.SegundaFeira = dr["SEGUNDA"].ToString();
                    dto.TercaFeira   = dr["TERCA"].ToString();
                    dto.QuartaFeira  = dr["QUARTA"].ToString();
                    dto.QuintaFeira  = dr["QUINTA"].ToString();
                    dto.SextaFeira   = dr["SEXTA"].ToString();
                    dto.Sabado       = dr["SABADO"].ToString();

                    dto.Curso        = dr["CUR_NOME"].ToString();
                    dto.Departamento = dr["COOR_DESCRICAO"].ToString();

                    lista.Add(dto);
                }
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(lista);
        }
示例#29
0
        public List <HorarioDTO> ObterPorDocente(HorarioDTO dto)
        {
            BaseDados.ComandText = "stp_ACA_HORARIO_DOCENTE_OBTERPORFILTRO";


            BaseDados.AddParameter("@DOCENTE", dto.HorDocente.Codigo);
            BaseDados.AddParameter("@DIA", dto.HorDiaSemana);
            BaseDados.AddParameter("@DISCIPLINA", dto.HorDisiciplina.Codigo);
            BaseDados.AddParameter("@HORA", dto.HorInicio);
            BaseDados.AddParameter("@TURMA", dto.HorTurma.Codigo);
            BaseDados.AddParameter("@ANO", dto.HorAnoLectivo.AnoCodigo);
            BaseDados.AddParameter("@CURSO", dto.HorDisiciplina.PlanoCurricular.Ramo.RamCodigo);
            BaseDados.AddParameter("PERIODO", dto.HorPeriodo);

            List <HorarioDTO> lista = new List <HorarioDTO>();

            try
            {
                MySqlDataReader dr = BaseDados.ExecuteReader();

                while (dr.Read())
                {
                    dto = new HorarioDTO();

                    dto.HorCodigo    = Int32.Parse(dr["HOR_CODIGO"].ToString());
                    dto.HorDocente   = new DocenteDTO(dr["HOR_CODIGO_DOCENTE"].ToString(), dr["NOME_DOCENTE"].ToString());
                    dto.HorDiaSemana = Int32.Parse(dr["HOR_DIA_SEMANA"].ToString());
                    dto.HorInicio    = int.Parse(dr["HOR_INICIO"].ToString());
                    //dto.HorRegime = dr["HOR_REGIME"].ToString();
                    dto.HorTermino = int.Parse(dr["HOR_TERMINO"].ToString());

                    TurmaDTO dtoTurma = new TurmaDTO();
                    dtoTurma.Codigo = int.Parse(dr["HOR_TURMA"].ToString());
                    dtoTurma.Sigla  = dr["TURMA"].ToString();
                    dtoTurma.Turno  = dr["TUR_TURNO"].ToString();
                    dto.HorTurma    = dtoTurma;//daoTurma.ObterPorPK(dtoTurma);
                    UnidadeCurricularDTO dtoDisciplina = new UnidadeCurricularDTO();
                    dtoDisciplina.NomeDisciplina  = dr["DISCIPLINA"].ToString();
                    dtoDisciplina.Tipo            = dr["DIS_SIGLA"].ToString();
                    dtoDisciplina.Conteudo        = dr["COOR_DESCRICAO"].ToString();
                    dtoDisciplina.Codigo          = int.Parse(dr["HOR_DISCIPLINA"].ToString());
                    dtoDisciplina.PlanoCurricular = new AnoCurricularDTO(int.Parse(dr["PLAN_CODIGO"].ToString()), new RamoDTO(int.Parse(dr["CUR_CODIGO"].ToString()), dr["CUR_ESPECIFICACAO"].ToString(), null, "", 0, 0, 1, ""),
                                                                         -1, dr["ANO_CURRICULAR"].ToString(), dr["CURSO"].ToString());
                    dto.HorDisiciplina = dtoDisciplina;//new DisciplinaPlanoDAO().ObterPorPK(new DisciplinaPlanoDTO(int.Parse(dr["HOR_DISCIPLINA"].ToString())));
                    dto.HorAnoLectivo  = new AnoLectivoDTO(dr["ANO_ANO_LECTIVO"].ToString());
                    if (!lista.Exists(t => t.HorDiaSemana == dto.HorDiaSemana && t.HorDocente.Codigo == dto.HorDocente.Codigo && t.HorInicio == dto.HorInicio))
                    {
                        lista.Add(dto);
                    }
                }
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                BaseDados.FecharConexao();
            }

            return(lista);
        }
示例#30
0
        public Boolean Excluir(HorarioDTO pHorarioDTO)
        {
            try
            {
                DataTable       dt          = new DataTable();
                MySqlConnection Conexao     = new MySqlConnection(StrCon);
                StringBuilder   vSQLCommand = new StringBuilder();

                vSQLCommand.AppendLine("DELETE FROM horario");

                vSQLCommand.AppendLine(" WHERE 1 = 1 ");

                if (pHorarioDTO.Identificador != default(int))
                {
                    vSQLCommand.AppendLine("and idHorario = @idHorario ");
                }

                MySqlCommand com = new MySqlCommand(vSQLCommand.ToString(), Conexao);

                if (pHorarioDTO.Identificador != default(int))
                {
                    com.Parameters.Add(new MySqlParameter("@idHorario", pHorarioDTO.Identificador));
                }
                Conexao.Open();
                //dt.Load(com.ExecuteReader());
                com.ExecuteReader();
                Conexao.Close();

                return(true);
            }
            catch (DataAccessException ex)
            {
                // Verifica se ocorreu erro de constraint
                if (ex.InnerException is SqlException)
                {
                    if (((SqlException)ex.InnerException).Number == 547)
                    {
                        throw new Exception();
                    }
                    else
                    {
                        throw;
                    }
                }
                else
                {
                    throw;
                }
            }
            catch (Exception e)
            {
                int pos = 0;
                pos = e.Message.ToString().IndexOf("Cannot delete or update a parent row: a foreign key constraint fails (");
                if (pos > 0)
                {
                    throw new Exception();
                }
                else
                {
                    throw new DataAccessException("Ocorreu um erro ao excluir o Cliente.", DataAccessExceptionLocation.DAO, e);
                }
            }
        }