Example #1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            NuevoHorario = new Horarios()
            {
                Horario = txtHorario.Text.Trim(),
            };

            if (!Utilitario.EsValido(this.formulario, NuevoHorario) || !horarioValidacion)
            {
                return;
            }

            try
            {
                var insetar = Utilitario.Pregunta("¿Desea realmente insertar este horario?", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                if (insetar == DialogResult.Yes)
                {
                    Cursor = Cursors.WaitCursor;
                    HorariosBD.Agregar(NuevoHorario);
                    NuevoHorario = new Horarios();
                    Utilitario.LimpiarCampos(this);

                    var respuesta = Utilitario.Pregunta("Horario insertado correctamente." + Environment.NewLine + "¿Desea insertar otro horario?", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                    if (respuesta == DialogResult.No)
                    {
                        btnCancelar.PerformClick();
                    }
                }
            }
            catch (Exception)
            {
                Utilitario.Mensaje("Error al insertar el horario", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            Cursor = Cursors.Arrow;
        }
        public Horarios TraerHorariosEntradaSalida(int id_horario)
        {
            SqlConnection conexion   = null;
            SqlCommand    cmd        = null;
            SqlDataReader dr         = null;
            Horarios      objHorario = null;

            try
            {
                conexion        = new Conexion().ConexionBD();
                cmd             = new SqlCommand("spTraerHorariosEntradaSalida", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@prmIdHorario", id_horario);
                conexion.Open();
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    objHorario            = new Horarios();
                    objHorario.id_horario = Convert.ToInt32(dr["id_horario"].ToString());
                    String hora_inicio = dr["hora_inicio"].ToString();
                    var    horaInicio  = hora_inicio.Split(':');
                    objHorario.hora_inicio = horaInicio[0] + ':' + horaInicio[1];
                    String hora_fin = dr["hora_fin"].ToString();
                    var    horaFin  = hora_fin.Split(':');
                    objHorario.hora_fin = horaFin[0] + ':' + horaFin[1];
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
            return(objHorario);
        }
        public JsonResult deleteHorario(int SucursalId, string HorarioId)
        {
            Horarios          obj   = new Horarios();
            HorarioRepository SSRep = new HorarioRepository();

            try
            {
                if (HorarioId != "")
                {
                    obj = SSRep.Del(SucursalId, HorarioId);
                }
                else
                {
                    obj.Accion  = 0;
                    obj.Mensaje = "El parametro tiene un valor incorrecto!";
                }
            }
            catch (Exception ex)
            {
                obj.Accion  = 0;
                obj.Mensaje = ex.Message.ToString();
            }
            return(Json(obj, JsonRequestBehavior.AllowGet));
        }
        public List <Horarios> TraerFechasMedicoRango(int id_medico, String fecha_inicio, String fecha_fin)
        {
            SqlConnection   conexion            = null;
            SqlCommand      cmd                 = null;
            SqlDataReader   dr                  = null;
            List <Horarios> ListaHorariosMedico = new List <Horarios>();

            try
            {
                conexion        = new Conexion().ConexionBD();
                cmd             = new SqlCommand("spTraerFechasMedicoRango", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@prmIdMedico", id_medico);
                cmd.Parameters.AddWithValue("@prmFechaInicio", fecha_inicio);
                cmd.Parameters.AddWithValue("@prmFechaFin", fecha_fin);
                conexion.Open();
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    Horarios objHorarios = new Horarios();
                    objHorarios.id_horario     = Convert.ToInt32(dr["id_horario"].ToString());
                    objHorarios.fecha_atencion = dr["fecha_atencion"].ToString();
                    ListaHorariosMedico.Add(objHorarios);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
            return(ListaHorariosMedico);
        }
Example #5
0
        public List <Horarios> GetHorarios()

        {
            List <Horarios> HorariosList = new List <Horarios>();

            try

            {
                //"CrearComando" esta definido en la libreria AccesoDatos.dll

                SqlCommand cmd = CrearComando("SGRC_SP_GetHorario"); //Pasamos el procedimiento almacenado.

                SqlDataAdapter da = new SqlDataAdapter(cmd);

                DataTable dt = new DataTable();

                //"GetDS" esta definido en la libreria AccesoDatos.dll

                //ds = GetDS(cmd, "SGRC_SP_GetHorario"); //Se envia el nombre del procedimiento almacenado.

                AbrirConexion();

                da.Fill(dt);

                CerrarConexion();



                //Bind EmpModel generic list using LINQ

                HorariosList = (from DataRow dr in dt.Rows



                                select new Horarios()

                {
                    SucursalId = Convert.ToInt32(dr["SucursalId"]),

                    SucHorarioId = Convert.ToString(dr["SucHorarioId"]),

                    SucHorarioHoraInicio = Convert.ToString(dr["SucHorarioHoraInicio"]),

                    SucHorarioHoraFinal = Convert.ToString(dr["SucHorarioHoraFinal"]),

                    SucHorarioCorrido = Convert.ToBoolean(dr["SucHorarioCorrido"]),

                    SucHorarioIndLaboral = Convert.ToBoolean(dr["SucHorarioIndLaboral"]),

                    Orden = Convert.ToInt32(dr["Orden"]),

                    Accion = 1,

                    Mensaje = "Se cargaron correctamente los datos de las Horarios"
                }).ToList();
            }

            catch (Exception ex)

            {
                Horarios oHorario = new Horarios();

                oHorario.Accion = 0;

                oHorario.Mensaje = ex.Message.ToString();

                HorariosList.Add(oHorario);

                throw new Exception("Error Obteniendo todos los registros " + ex.Message, ex);
            }

            return(HorariosList);
        }
Example #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        cal = null;
        Guid idturma    = new Guid();
        bool mostraAval = true;

        if (Request.QueryString["id"] != null)
        {
            listCData = cdataBo.GetCategoriaDatas();
            try
            {
                idturma = new Guid(Request.QueryString["id"]);
                int           ano      = int.Parse(Request.QueryString["ano"]);
                int           semestre = int.Parse(Request.QueryString["sem"]);
                CalendariosBO calBO    = new CalendariosBO();
                cal = calBO.GetCalendarioByAnoSemestre(ano, semestre);
                string strProx = Request.QueryString["aval"];
                if (string.IsNullOrEmpty(strProx))
                {
                    mostraAval = false;
                }
            }
            catch (FormatException)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
            }

            Session["TurmaId"] = idturma;
            CategoriaAtividadeBO      cateBO          = new CategoriaAtividadeBO();
            List <CategoriaAtividade> listaAtividades = cateBO.GetCategoriaAtividade();
            AulaBO      AulaBO     = new AulaBO();
            List <Aula> listaAulas = null;
            try
            {
                listaAulas = AulaBO.GetAulas(idturma);
            }
            catch (Exception)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
            }
            Disciplina          d   = listaAulas[0].TurmaId.Disciplina;
            CategoriaDisciplina cat = d.Categoria;

            string sala   = Regex.Replace(listaAulas[0].TurmaId.Sala, "32/A", "32");
            string titulo = d.Cod + "-" + d.Cred + " " + d.Nome + " (" + listaAulas[0].TurmaId.Numero + ") - " + sala;//" "+facin;
            lblTitulo.Text = titulo;

            string shortTitle = "";
            foreach (string part in d.Nome.Split())
            {
                if (part.Length == 1 && part[0] != 'I')
                {
                    continue;
                }
                if (part == "de" || part == "do" || part == "da" || part == "em")
                {
                    continue;
                }
                if (part == "I" || part == "II" || part == "III" || part == "IV" || part == "V" ||
                    part == "A" || part == "B" || part == "C")
                {
                    shortTitle += part;
                }
                else
                {
                    shortTitle += char.ToUpper(part[0]);
                }
            }
            string st = shortTitle;

            string output = "BEGIN:VCALENDAR\n";
            output += "PRODID:-//SARC//" + d.Cod + "-" + d.Cred + " " + d.Nome + "//PT\n";
            output += "VERSION:2.0\n";
            output += "CALSCALE:GREGORIAN\n";
            output += "METHOD:PUBLISH\n";
            output += "X-WR-CALNAME:" + st + "\n";
            output += "X-WR-TIMEZONE:America/Sao_Paulo\n";
            output += "X-WR-CALDESC:" + st + "\n";

            DateTime hoje = DateTime.Now;

            DataTable tabela = new DataTable();

            AlocacaoBO alocBO = new AlocacaoBO();

            foreach (DataGridColumn coluna in dgAulas.Columns)
            {
                tabela.Columns.Add(coluna.HeaderText);
            }

            int     totalAulas = 1;
            DataRow dr;
            bool    notset = true;
            foreach (Aula aula in listaAulas)
            {
                string hi = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.ToString().Substring(0, 5);
                string hf = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.Add(TimeSpan.FromMinutes(90)).ToString().Substring(0, 5);
                dr              = tabela.NewRow();
                dr["#"]         = totalAulas++;
                dr["Dia"]       = DataHelper.GetDia(aula.Data.DayOfWeek);
                dr["Data"]      = aula.Data.Date.ToShortDateString();
                dr["Hora"]      = aula.Hora + "<br>" + hi + " - " + hf;
                dr["Descrição"] = aula.DescricaoAtividade;
                dr["Atividade"] = aula.CategoriaAtividade.Descricao;
                dr["Prox"]      = "";

                DateTime startDt = aula.Data.Add(Horarios.ParseToDateTime(aula.Hora).TimeOfDay).AddHours(3);
                DateTime endDt   = startDt.AddMinutes(90);

                List <BusinessData.Entities.Recurso> recAlocados = alocBO.GetRecursoAlocadoByAula(aula.Data, aula.Hora, (Guid)aula.Id);
                string aux     = "";
                string recHoje = "";
                shortTitle = st;
                foreach (var rec in recAlocados)
                {
                    if (aux != String.Empty)
                    {
                        aux += "<br/>" + rec.Descricao;
                    }
                    else
                    {
                        aux = rec.Descricao;
                        //Debug.WriteLine("Tipo recurso:" + rec.Tipo);
                        if (rec.Tipo == 'L' || rec.Tipo == 'A' || rec.Tipo == 'D')
                        {
                            recHoje     = rec.Descricao;
                            shortTitle += " " + recHoje.Split().Last();
                            break;
                        }
                    }
                }
                dr["Recursos"]  = aux;
                dr["CorDaData"] = aula.CategoriaAtividade.Cor.ToArgb();

                if (aula.Data.Date >= cal.InicioG2)
                {
                    dr["#"] = "";
                    totalAulas--;
                }

                Data data      = VerificaData(aula.Data.Date);
                bool diaLetivo = true;
                if (data != null)
                {
                    foreach (CategoriaData c in listCData)
                    {
                        if (c.Id == data.Categoria.Id)
                        {
                            if (!c.DiaLetivo)
                            {
                                dr["Descrição"] = c.Descricao + (aula.DescricaoAtividade != "Feriado" ? " (era " + aula.DescricaoAtividade + ")" : "");
                                dr["#"]         = "";
                                totalAulas--;
                                diaLetivo = false;
                                break;
                            }
                        }
                    }
                }
                //Debug.WriteLine("Cor aula: " + aula.CategoriaAtividade.Cor.ToString());
                tabela.Rows.Add(dr);

                if (recHoje == string.Empty)
                {
                    recHoje     = sala;
                    shortTitle += " " + recHoje;
                }

                if (diaLetivo)
                {
                    if (mostraAval && aula.CategoriaAtividade.Descricao != "Prova" && aula.CategoriaAtividade.Descricao != "Prova de Substituição" &&
                        aula.CategoriaAtividade.Descricao != "Prova de G2" && aula.CategoriaAtividade.Descricao != "Trabalho")
                    {
                        continue;
                    }
                    output += "BEGIN:VEVENT\n";
                    output += "DESCRIPTION: " + aula.DescricaoAtividade + "\n";
                    output += "SUMMARY: " + shortTitle + "\n";
                    output += string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}\n", DateTime.Now);
//                    output += "DTSTART:"+startDt.Year+startDt.Month+startDt.Day+startDt.Hour+startDt.Minute+startDt.Second+"\n";
                    //output += "DTSTART:" + startDt.ToString() + "\n";
                    output += string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}\n", startDt);
                    output += string.Format("DTEND:{0:yyyyMMddTHHmmssZ}\n", endDt);
                    output += "LOCATION:" + recHoje + "\n";
                    output += "SEQUENCE:0\n";
                    output += "TRANSP:OPAQUE\n";
                    SHA256 sha      = SHA256.Create();
                    byte[] uidarray = sha.ComputeHash(Encoding.Unicode.GetBytes(aula.DescricaoAtividade + startDt.ToString() + shortTitle + endDt.ToString()));
                    string uid      = Convert.ToBase64String(uidarray);
                    output += "UID:" + uid + "\n";
                    output += "END:VEVENT\n";
                }
            }
            dgAulas.DataSource     = tabela;
            dgAulas.ItemDataBound += new DataGridItemEventHandler(dgAux_ItemDataBound);
            dgAulas.DataBind();

            output += "END:VCALENDAR\n";
            Response.AppendHeader("Content-Disposition", "attachment; filename=" + st + ".ics");
            Response.ContentType = "text/calendar";
            Response.Write(output);

            Response.End();
        }
    }
 public ActionResult Create(Horarios horario)
 {
     db.Horarios.Add(horario);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
Example #8
0
 public Turnos(Horarios horas)
 {
     InitializeComponent();
     Horatrabajo = horas;
 }
Example #9
0
 private Horario RetornarHorario(Pessoa cliente, DateTime dataHora)
 {
     return(Horarios.Find(h => new { p1 = h.Cliente, p2 = h.DataHora }.Equals(new { p1 = cliente, p2 = dataHora })));
 }
Example #10
0
 public void AdicionarHorario(DateTime horario)
 {
     Horarios.Add(horario);
 }
Example #11
0
    private void VisualizarAlocacoesData()
    {
        try
        {
            if (txtData.Text.Length != 0)
            {
                DateTime        now            = DateTime.Parse(txtData.Text);
                List <Alocacao> listaAlocacoes = controladorAlocacoes.GetAlocacoesByData(now, (BusinessData.Entities.Calendario)Session["Calendario"]);
                List <Alocacao> filtradaAtual  = new List <Alocacao>();
                List <Alocacao> filtradaProx   = new List <Alocacao>();

                //string horarioAtual = String.Empty;

                List <string>   horarios     = new List <string>();
                List <TimeSpan> horariosTime = new List <TimeSpan>();
                foreach (string hor in Enum.GetNames(typeof(Horarios.HorariosPUCRS)))
                {
                    horariosTime.Add(Horarios.ParseToDateTime(hor).TimeOfDay);
                    horarios.Add(hor.ToString());
                }

                TimeSpan nowTime = DateTime.Now.TimeOfDay;
                //nowTime = nowTime.Add(new TimeSpan(2,0,0)); // para testar com outros horarios

                // Identifica o período de aula atual
                int pos;
                if (nowTime < horariosTime[0])
                {
                    pos = 0;
                }
                else
                {
                    for (pos = 0; pos < horarios.Count - 1; pos++)
                    {
                        if (nowTime >= horariosTime[pos] && nowTime <= horariosTime[pos + 1])
                        {
                            break;
                        }
                    }
                }

                lblAtual.Text = "Horário atual: " + horarios[pos];//+" - "+nowTime.ToString();

                string horarioAtual = horarios[pos];
                string horarioProx  = String.Empty;
                if (pos < horarios.Count - 1)              // se nao estivermos ja no ultimo horario...
                {
                    horarioProx     = horarios[pos + 1];
                    lblProximo.Text = "Proximo horario: " + horarioProx;
                }

                bool achei = false;

                foreach (Alocacao aloc in listaAlocacoes)
                {
                    if (aloc.Horario != horarioAtual && aloc.Horario != horarioProx && achei)                    // ja achou, ou seja, mudou o horario
                    {
                        break;
                    }
                    if (aloc.Horario == horarioAtual)
                    {
                        //Alocacao nova = new Alocacao(aloc.Recurso,aloc.Data,aloc.Horario,aloc.Aula,aloc.Evento);
                        //nova.Delta = dif.TotalMinutes.ToString();
                        filtradaAtual.Add(aloc);
                        achei = true;                         // indica que ja achou - quando o horario mudar, sai do foreach
                    }
                    if (aloc.Horario == horarioProx)
                    {
                        //Alocacao nova = new Alocacao(aloc.Recurso,aloc.Data,aloc.Horario,aloc.Aula,aloc.Evento);
                        filtradaProx.Add(aloc);
                        achei = true;
                    }
                }
                if (filtradaAtual.Count != 0)
                {
                    dgAlocacoes.DataSource = filtradaAtual;
                    dgAlocacoes.Visible    = true;
                    dgAlocacoes.DataBind();
                    lblStatus.Visible = false;
                }
                if (filtradaProx.Count != 0)
                {
                    dgAlocacoes2.DataSource = filtradaProx;
                    dgAlocacoes2.DataBind();
                    dgAlocacoes2.Visible = true;
                    lblStatus.Visible    = false;
                }
                if (filtradaAtual.Count == 0 && filtradaProx.Count == 0)
                {
                    lblStatus.Text      = "Não existem recursos alocados para hoje.";
                    lblStatus.Visible   = true;
                    dgAlocacoes.Visible = false;
                }
            }
            else
            {
                lblStatus.Visible = true;
                FormatException excp = new FormatException();
                throw excp;
            }
        }
        catch (FormatException)
        {
            dgAlocacoes.Visible = false;
            lblStatus.Text      = "Digite uma data válida!";
            dgAlocacoes.Visible = false;
        }
    }
Example #12
0
        public Horarios GetHorario(string SucId, string HorId)

        {
            Horarios vResultado = new Horarios(); //Se crea una variable que contendra los datos del almacen.

            SqlCommand cmd = new SqlCommand();

            try

            {
                cmd = CrearComando("SGRC_SP_GetHorario");            //Pasamos el nombre del procedimiento almacenado.

                cmd.Parameters.AddWithValue("@SucursalId", SucId);   //Agregamos los parametros.

                cmd.Parameters.AddWithValue("@SucHorarioId", HorId); //Agregamos los parametros.



                AbrirConexion();                                //Se abre la conexion a la BD.

                SqlDataReader consulta = Ejecuta_Consulta(cmd); //Enviamos el comando con los paramentros agregados.



                if (consulta.Read())

                {
                    if (consulta.HasRows)

                    {
                        //Obtenemos el valor de cada campo

                        vResultado.SucursalId = (int)consulta["SucursalId"];

                        vResultado.SucHorarioId = (string)consulta["SucHorarioId"];

                        vResultado.SucHorarioIndLaboral = (bool)consulta["SucHorarioIndLaboral"];

                        vResultado.SucHorarioHoraInicio = (string)consulta["SucHorarioHoraInicio"];

                        vResultado.SucHorarioHoraFinal = (string)consulta["SucHorarioHoraFinal"];
                        vResultado.Orden = (int)consulta["Orden"];

                        vResultado.Accion = 1;

                        vResultado.Mensaje = "Se cargó la Horario correctamente!";



                        //Si los campos admiten valores nulos convertir explicitamente

                        //ej: vResultado.Nombre = Convert.ToString(consulta["Nombre"]);
                    }
                }
            }

            catch (Exception Ex)

            {
                vResultado.Accion = 0;

                vResultado.Mensaje = Ex.Message.ToString();

                throw new Exception("Error al cargar los datos de prioridad: " + Ex.Message, Ex);
            }

            finally

            {
                cmd.Dispose();

                CerrarConexion();
            }

            return(vResultado);
        }
Example #13
0
 public frmHorarios()
 {
     InitializeComponent();
     HorariosBD   = new HorariosModel();
     NuevoHorario = new Horarios();
 }
Example #14
0
 //TODO: una vez pausada la op se ejecuta este metodo
 public void CerrarHorario()
 {
     Horarios.Last().Fin = DateTime.Now;
 }
Example #15
0
        public async Task <List <Horarios> > MostrarHorarios(string dia, int materiaId, int cursoId)
        {
            try
            {
                var horas = Diccionarios.MostrarHoras();
                dia = dia.Equals("Miércoles") ? "x" : dia;
                var _horarios = await(from t0 in context.Col_Cursos
                                      join t1 in context.Col_Horarios on t0.CursoId equals t1.CursoId
                                      join t2 in context.Col_Materias on t1.MateriaId equals t2.MateriaId
                                      where t0.CursoId == cursoId && t2.MateriaId == materiaId &&
                                      t1.HoraIni.StartsWith(dia.Substring(0, 1))
                                      select new Horarios
                {
                    Materia = t2.Nombre,
                    HoraFin = t1.HoraFin,
                    HoraIni = t1.HoraIni,
                    Id      = t1.HorarioId,
                }).ToListAsync();
                List <Horarios> horarios = new List <Horarios>();
                foreach (var temp in _horarios)
                {
                    Horarios _horario = new Horarios();
                    _horario.Id      = temp.Id;
                    _horario.Horario = ($" {horas.Where(w => w.Key.Contains(temp.HoraIni.Substring(2))).Select(s => s.Value).FirstOrDefault()} -" +
                                        $" {horas.Where(w => w.Key.Contains(temp.HoraFin.Substring(2))).Select(s => s.Value).FirstOrDefault()}");
                    horarios.Add(_horario);
                }
                return(horarios);
            }
            #region catch
            catch (DbEntityValidationException e)
            {
                string err = "";
                foreach (DbEntityValidationResult eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (DbValidationError ve in eve.ValidationErrors)
                    {
                        err += ve.ErrorMessage;
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return(null);
            }

            catch (Exception e)
            {
                string err = "";
                if (e.InnerException != null)
                {
                    if (e.InnerException.Message != null)
                    {
                        err = (e.InnerException.Message);
                        if (e.InnerException.InnerException != null)
                        {
                            err += e.InnerException.InnerException.Message;
                        }
                    }
                }
                else
                {
                    err = (e.Message);
                }
                return(null);
            }
            #endregion
        }
Example #16
0
        public async Task <List <Horarios> > MostrarHorasMaterias(int cursoId)
        {
            try
            {
                List <Horarios> _horarios = new List <Horarios>();

                List <Horarios> query = await(from t0 in context.Col_Cursos
                                              join t1 in context.Col_Horarios on t0.CursoId equals t1.CursoId
                                              join t2 in context.Col_Materias on t1.MateriaId equals t2.MateriaId
                                              where t0.CursoId.Equals(cursoId)
                                              select new Horarios
                {
                    Color   = t2.Color,
                    HoraFin = t1.HoraFin,
                    HoraIni = t1.HoraIni,
                    Materia = t2.Nombre,
                    Id      = t1.HorarioId,
                }).ToListAsync();

                foreach (Horarios item in query)
                {
                    Horarios _horario = new Horarios();
                    string[] horaIni  = item.HoraIni.Split('-');
                    string[] _horaIni = horaIni[1].Split('_');
                    int      ini      = horaIni[2].Equals("AM") || _horaIni[0] == "12" ? Convert.ToInt32(_horaIni[0]) : Convert.ToInt32(_horaIni[0]) + 12;
                    string[] horaFin  = item.HoraFin.Split('-');
                    string[] _horaFin = horaFin[1].Split('_');
                    int      fin      = horaFin[2].Equals("AM") || _horaFin[0] == "12" ? Convert.ToInt32(_horaFin[0]) : Convert.ToInt32(_horaFin[0]) + 12;
                    int      restaFin = Convert.ToInt32(fin.ToString() + _horaFin[1]);
                    int      restaIni = Convert.ToInt32(ini.ToString() + _horaIni[1]);
                    if ((restaFin - restaIni) > 30)
                    {
                        _horario.HoraFin = item.HoraFin;
                        _horario.HoraIni = item.HoraIni;
                        _horario.Id      = item.Id;
                        _horario.orden   = ini;
                        int           cont        = 0;
                        List <string> _intervalos = new List <string>();
                        for (int i = ini; i <= fin; i++)
                        {
                            string ampm = i < 12 ? "AM" : "PM";
                            if (i > 12)
                            {
                                int hora = i - 12;
                                if (item.HoraIni.Contains("30"))
                                {
                                    if (cont != 0)
                                    {
                                        if (i != fin)
                                        {
                                            _intervalos.Add($"{horaIni[0]}-{hora}_30-{ampm}");
                                        }
                                        if (!$"{horaIni[0]}-{hora}_00-{ampm}".Equals(item.HoraFin))
                                        {
                                            _intervalos.Add($"{horaIni[0]}-{hora}_00-{ampm}");
                                        }
                                    }
                                }
                                else
                                {
                                    if (i != fin)
                                    {
                                        _intervalos.Add($"{horaIni[0]}-{hora}_30-{ampm}");
                                    }
                                    if (cont != 0)
                                    {
                                        if (!$"{horaIni[0]}-{hora}_00-{ampm}".Equals(item.HoraFin))
                                        {
                                            _intervalos.Add($"{horaIni[0]}-{hora}_00-{ampm}");
                                        }
                                    }
                                }
                                cont++;
                            }
                            if (i < 13)
                            {
                                if (item.HoraIni.Contains("30"))
                                {
                                    if (cont != 0)
                                    {
                                        if (i != fin)
                                        {
                                            _intervalos.Add($"{horaIni[0]}-{i}_30-{ampm}");
                                        }
                                        if (!$"{horaIni[0]}-{i}_00-{ampm}".Equals(item.HoraFin))
                                        {
                                            _intervalos.Add($"{horaIni[0]}-{i}_00-{ampm}");
                                        }
                                    }
                                }
                                else
                                {
                                    if (i != fin)
                                    {
                                        _intervalos.Add($"{horaIni[0]}-{i}_30-{ampm}");
                                    }
                                    if (cont != 0)
                                    {
                                        if (!$"{horaIni[0]}-{i}_00-{ampm}".Equals(item.HoraFin))
                                        {
                                            _intervalos.Add($"{horaIni[0]}-{i}_00-{ampm}");
                                        }
                                    }
                                }
                                cont++;
                            }
                        }
                        _horario.Materia   = item.Materia;
                        _horario.Color     = item.Color;
                        _horario.Intervalo = _intervalos;
                        _horarios.Add(_horario);
                    }
                    else
                    {
                        _horario.Color   = item.Color;
                        _horario.HoraFin = item.HoraFin;
                        _horario.HoraIni = item.HoraIni;
                        _horario.Materia = item.Materia;
                        _horario.Id      = item.Id;
                        _horario.orden   = ini;
                        _horarios.Add(_horario);
                    }
                }
                return(_horarios);
            }
            #region catch
            catch (DbEntityValidationException e)
            {
                string err = "";
                foreach (DbEntityValidationResult eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (DbValidationError ve in eve.ValidationErrors)
                    {
                        err += ve.ErrorMessage;
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return(null);
            }

            catch (Exception e)
            {
                string err = "";
                if (e.InnerException != null)
                {
                    if (e.InnerException.Message != null)
                    {
                        err = (e.InnerException.Message);
                        if (e.InnerException.InnerException != null)
                        {
                            err += e.InnerException.InnerException.Message;
                        }
                    }
                }
                else
                {
                    err = (e.Message);
                }
                return(null);
            }
            #endregion
        }
Example #17
0
    protected void Page_Load(object sender, EventArgs e)
    {
        cal = null;
        Guid idturma    = new Guid();
        bool mostraProx = true;

        if (Request.QueryString["id"] != null)
        {
            listCData = cdataBo.GetCategoriaDatas();
            try
            {
                idturma = new Guid(Request.QueryString["id"]);
                int           ano      = int.Parse(Request.QueryString["ano"]);
                int           semestre = int.Parse(Request.QueryString["sem"]);
                CalendariosBO calBO    = new CalendariosBO();
                cal = calBO.GetCalendarioByAnoSemestre(ano, semestre);
                string strProx = Request.QueryString["prox"];
                if (string.IsNullOrEmpty(strProx))
                {
                    mostraProx = false;
                }
            }
            catch (FormatException)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
            }

            Session["TurmaId"] = idturma;
            CategoriaAtividadeBO      cateBO          = new CategoriaAtividadeBO();
            List <CategoriaAtividade> listaAtividades = cateBO.GetCategoriaAtividade();
            AulaBO      AulaBO     = new AulaBO();
            List <Aula> listaAulas = null;
            try
            {
                listaAulas = AulaBO.GetAulas(idturma);
            }
            catch (Exception)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
            }
            Disciplina          d   = listaAulas[0].TurmaId.Disciplina;
            CategoriaDisciplina cat = d.Categoria;

            string sala   = Regex.Replace(listaAulas[0].TurmaId.Sala, "32/A", "32");
            string titulo = d.Cod + "-" + d.Cred + " " + d.Nome + " (" + listaAulas[0].TurmaId.Numero + ") - " + sala;//" "+facin;
            lblTitulo.Text = titulo;

            DateTime hoje = DateTime.Now;
            //           if (mostraProx)
            //               lblProx.Text = "26/08/2019 [QUA LM] - Apresentação (Sala de aula)";

            DataTable tabela = new DataTable();

            AlocacaoBO alocBO = new AlocacaoBO();

            foreach (DataGridColumn coluna in dgAulas.Columns)
            {
                tabela.Columns.Add(coluna.HeaderText);
            }
            //            tabela.Columns.Add("Recursos");

            int     totalAulas = 1;
            DataRow dr;
            bool    notset = true;
            foreach (Aula aula in listaAulas)
            {
                string hi = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.ToString().Substring(0, 5);
                string hf = Horarios.ParseToDateTime(aula.Hora).TimeOfDay.Add(TimeSpan.FromMinutes(90)).ToString().Substring(0, 5);
                dr              = tabela.NewRow();
                dr["#"]         = totalAulas++;
                dr["Dia"]       = DataHelper.GetDia(aula.Data.DayOfWeek);
                dr["Data"]      = aula.Data.Date.ToShortDateString();
                dr["Hora"]      = aula.Hora + "<br>" + hi + " - " + hf;
                dr["Descrição"] = aula.DescricaoAtividade;
                dr["Atividade"] = aula.CategoriaAtividade.Descricao;
                dr["Prox"]      = "";

                List <BusinessData.Entities.Recurso> recAlocados = alocBO.GetRecursoAlocadoByAula(aula.Data, aula.Hora, (Guid)aula.Id);
                //                dr["Recursos"] = "";
                string aux     = "";
                string recHoje = "";
                foreach (var rec in recAlocados)
                {
                    if (aux != String.Empty)
                    {
                        aux += "<br/>" + rec.Descricao;
                    }
                    else
                    {
                        aux = rec.Descricao;
                        //Debug.WriteLine("Tipo recurso:" + rec.Tipo);
                        if (rec.Tipo == 'L' || rec.Tipo == 'A' || rec.Tipo == 'D' || rec.Tipo == 'X')
                        {
                            recHoje = rec.Descricao;
                        }
                    }
                }
                dr["Recursos"]  = aux;
                dr["CorDaData"] = aula.CategoriaAtividade.Cor.ToArgb();

                if (aula.Data.Date >= cal.InicioG2)
                {
                    dr["#"] = "";
                    totalAulas--;
                }

                Data data = VerificaData(aula.Data.Date);
                if (data != null)
                {
                    foreach (CategoriaData c in listCData)
                    {
                        if (c.Id == data.Categoria.Id)
                        {
                            if (!c.DiaLetivo)
                            {
                                dr["Descrição"] = c.Descricao + (aula.DescricaoAtividade != "Feriado" ? " (era " + aula.DescricaoAtividade + ")" : "");
                                dr["#"]         = "";
                                totalAulas--;
                                break;
                            }
                        }
                    }
                }
                //Debug.WriteLine("Cor aula: " + aula.CategoriaAtividade.Cor.ToString());
                tabela.Rows.Add(dr);

                if (recHoje == string.Empty)
                {
                    recHoje = sala;
                }

                if (notset)
                {// && hoje.Date == aula.Data.Date)
                    //Debug.WriteLine("Aula: " + aula.Data.ToString() + " - hoje: "+hoje.ToString());
                    switch (aula.Hora)
                    {
                    case "AB":
                        aula.Data = aula.Data.AddHours(8);
                        break;

                    case "CD":
                        aula.Data = aula.Data.AddHours(9).AddMinutes(45);
                        break;

                    case "EX":
                        aula.Data = aula.Data.AddHours(11).AddMinutes(30);
                        break;

                    case "FG":
                        aula.Data = aula.Data.AddHours(14);
                        break;

                    case "HI":
                        aula.Data = aula.Data.AddHours(15).AddMinutes(45);
                        break;

                    case "JK":
                        aula.Data = aula.Data.AddHours(17).AddMinutes(30);
                        break;

                    case "LM":
                        aula.Data = aula.Data.AddHours(19).AddMinutes(15);
                        break;

                    case "NP":
                        aula.Data = aula.Data.AddHours(21).AddMinutes(0);
                        break;
                    }
                    long tickDiff = aula.Data.Ticks - hoje.Ticks;
                    //Debug.WriteLine("Tickdiff: "+tickDiff);
//                    hoje.
                    TimeSpan ts = TimeSpan.FromTicks(tickDiff);
                    //Debug.WriteLine("Timespan diff: " + ts.Duration().TotalHours);
                    if (tickDiff >= 0 || ts.Duration().TotalHours < 1)
                    {
                        lblProx.Text = aula.Data.Date.ToShortDateString() + " [" + dr["Dia"] + " " + aula.Hora + "] - " + aula.DescricaoAtividade
                                       + " (" + recHoje + ")";
                        TimeSpan diff        = aula.Data.Subtract(hoje);
                        int      roundedDays = (int)Math.Round(diff.TotalDays);
//                        lblProx.Text += diff.TotalDays + " - " + diff.TotalHours + " - " + diff.TotalMinutes + " -> "+Math.Round(diff.TotalDays);
                        //lblProx.Text += " -> " + aula.Data.ToString() + " - " + hoje.ToString();
                        /**/
                        if (roundedDays > 0)
                        {
                            if (roundedDays == 1)
                            {
                                lblProx.Text += " - amanhã";
                            }
                            else
                            {
                                lblProx.Text += " - daqui a " + roundedDays + " dias";
                            }
                        }
                        else if (diff.Hours > 0)
                        {
                            lblProx.Text += " - começa em " + diff.Hours + " hora" + (diff.Hours > 1 ? "s" : "");
                        }
                        else if (diff.Minutes > 0)
                        {
                            lblProx.Text += " - começa em " + diff.Minutes + " minuto" + (diff.Minutes > 1 ? "s" : "");
                        }
                        else if (diff.Minutes < 0)
                        {
                            lblProx.Text += " - começou há " + (-diff.Minutes) + " minuto" + (diff.Minutes < 1 ? "s" : "");
                        }
                        /**/

                        //lblProx.Text += " - " + diff.Days + " dias, " + diff.Hours + " horas, " + diff.Minutes + " minutos";
                        dr["Prox"] = "X"; // marca como a próxima aula na tabela
                        if (!mostraProx)
                        {
                            lblProx.Text = "";
                        }
                        else
                        {
                            // Se prox estiver ativo, oculta a grade e o título
                            dgAulas.Visible   = false;
                            lblTitulo.Visible = false;
                            break;
                        }
                        notset = false;
                    }
                }
            }
            if (lblProx.Text == String.Empty && mostraProx)
            {
                dgAulas.Visible   = false;
                lblTitulo.Visible = false;
                lblProx.Text      = "Não há mais atividades";
            }
            dgAulas.DataSource     = tabela;
            dgAulas.ItemDataBound += new DataGridItemEventHandler(dgAux_ItemDataBound);
            dgAulas.DataBind();
        }
    }
Example #18
0
        public Horarios Save(Horarios pHorario)

        {
            SqlCommand cmd = new SqlCommand();

            int vResultado = -1;

            try

            {
                AbrirConexion();

                //connection();

                cmd = CrearComando("SGRC_SP_Horario_Save");

                cmd.Parameters.AddWithValue("@SucursalId", pHorario.SucursalId);

                cmd.Parameters.AddWithValue("@SucHorarioId", pHorario.SucHorarioId);

                cmd.Parameters["@SucHorarioId"].Direction = ParameterDirection.InputOutput; //Se indica que el IdAlmacen sera un parametro de Entrada/Salida.



                cmd.Parameters.AddWithValue("@SucHorarioIndLaboral", pHorario.SucHorarioIndLaboral);

                cmd.Parameters.AddWithValue("@SucHorarioCorrido", pHorario.SucHorarioCorrido);

                cmd.Parameters.AddWithValue("@SucHorarioHoraInicio", pHorario.SucHorarioHoraInicio);

                cmd.Parameters.AddWithValue("@SucHorarioHoraFinal", pHorario.SucHorarioHoraFinal);



                //con.Open();

                vResultado = Ejecuta_Accion(ref cmd);

                pHorario.Accion = vResultado;

                //vResultado = Convert.ToInt32(cmd.Parameters["@Id"].Value);

                //con.Close();
            }

            catch (Exception Ex)

            {
                pHorario.Accion = 0;

                pHorario.Mensaje = Ex.Message;

                throw new Exception("Ocurrio el un error al guardar el Horario: " + Ex.Message, Ex);
            }

            finally

            {
                cmd.Dispose();

                CerrarConexion();
            }

            pHorario.Accion = vResultado;

            if (vResultado == 0)

            {
                pHorario.Mensaje = "Se genero un error al insertar la información del horario!";
            }

            else

            {
                pHorario.Mensaje = "Se ingreso el Horario correctamente!";
            }

            return(pHorario);
        }
        public ActionResult Crear()
        {
            var nuevoHorario = new Horarios();

            return(View(nuevoHorario));
        }
Example #20
0
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            if (txtNombre.Text == "" | txtApellido.Text == "" | txtDni.Text == "" | txtDireccion.Text == "" | txtTelParticular.Text == "" | txtTelPersonal.Text == "" | txtCorreo.Text == "")
            {
                MessageBox.Show("falta llenar campos");
                return;
            }
            else if (dtpFechaNac.Value > DateTime.Today)
            {
                MessageBox.Show("LA FECHA NO SE PUEDE SER MAYOR AL DIA DE HOY...");
                return;
            }


            medicosNegocio medNeg = new medicosNegocio();

            if (medi != null)
            {
                try
                {
                    Horarios b = (Horarios)CBOHORARIOS.SelectedItem;
                    medi.Idhorario = b.IdHorarios;
                    medi.Nombre    = txtNombre.Text.Trim();
                    medi.Apellido  = txtApellido.Text.Trim();
                    medi.Dni       = Convert.ToInt64(txtDni.Text.Trim());
                    medi.Direccion = txtDireccion.Text.Trim();
                    Localidad a = (Localidad)cboLocalidad.SelectedItem;
                    medi.Idlocalidad = a.Idlocalidad;
                    medi.Celular     = Convert.ToInt64(txtTelPersonal.Text.Trim());
                    medi.Telefono    = Convert.ToInt64(txtTelParticular.Text.Trim());
                    medi.Email       = txtCorreo.Text.Trim();
                    medi.FechaNac    = Convert.ToDateTime(dtpFechaNac.Value.ToString());
                    medi.Sexo        = Convert.ToString(cboSexo.SelectedItem);
                    medNeg.modificarMedico(medi);


                    MessageBox.Show("Paciente modificado...");
                    cargar();
                    limpiar();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                Medico   nuevo = new Medico();
                Horarios b     = (Horarios)CBOHORARIOS.SelectedItem;
                nuevo.Idhorario = b.IdHorarios;
                nuevo.Nombre    = txtNombre.Text.Trim();
                nuevo.Apellido  = txtApellido.Text.Trim();
                nuevo.Dni       = Convert.ToInt64(txtDni.Text.Trim());
                nuevo.Direccion = txtDireccion.Text.Trim();
                Localidad a = (Localidad)cboLocalidad.SelectedItem;
                nuevo.Idlocalidad = a.Idlocalidad;
                nuevo.Celular     = Convert.ToInt64(txtTelPersonal.Text.Trim());
                nuevo.Telefono    = Convert.ToInt64(txtTelParticular.Text.Trim());
                nuevo.Email       = txtCorreo.Text.Trim();
                nuevo.FechaNac    = Convert.ToDateTime(dtpFechaNac.Value.ToString());
                nuevo.Sexo        = Convert.ToString(cboSexo.SelectedItem);
                medNeg.agregarMedico(nuevo);

                MessageBox.Show("medico agregado exitosamente...");
                cargar();
                limpiar();
            }
        }
        public ActionResult Eliminar(Horarios horarios)
        {
            _HorarioBL.EliminarHorario(horarios.Id);

            return(RedirectToAction("Index"));//pendiente index
        }