Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using PhuyuSalud.Entidad.ComplexTypes;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using Telerik.Web.UI;
- using Phuyu.Utilidades.Enumerados;
- using PhuyuSalud.Aplicacion.Utilitarios;
- using Resources;
- using System.Drawing;
- namespace PhuyuSalud.ClienteWeb.UserControls.Agendamiento
- {
- public partial class WucCalendario : System.Web.UI.UserControl
- {
- //Image _headerImage = null;
- //Image _footerImage = null;
- //DateTime MinDisabledDate = new DateTime(2018, 2, 15);
- //DateTime MaxDisabledDate = new DateTime(2018, 3, 15);
- protected void Page_Load(object sender, EventArgs e)
- {
- //_headerImage = (Image)RadCalendar1.FindControl("HeaderImage");
- //_footerImage = (Image)RadCalendar1.FindControl("FooterImage");
- //AddImages(RadCalendar1.CalendarView);
- }
- //protected void RadCalendar1_DefaultViewChanged(object sender, Telerik.Web.UI.Calendar.DefaultViewChangedEventArgs e)
- //{
- // AddImages(e.NewView);
- //}
- //private void AddImages(Telerik.Web.UI.Calendar.View.CalendarView inputView)
- //{
- // switch (inputView.ViewStartDate.Month)
- // {
- // case 1:
- // case 11:
- // case 12:
- // _headerImage.ImageUrl = "../../Images/header_winter.jpg";
- // _footerImage.ImageUrl = "../../Images/footer_winter.jpg";
- // _headerImage.AlternateText = _footerImage.AlternateText = "Winter";
- // break;
- // case 2:
- // case 3:
- // case 4:
- // _headerImage.ImageUrl = "../../Images/header_spring.jpg";
- // _footerImage.ImageUrl = "../../Images/footer_spring.jpg";
- // _headerImage.AlternateText = _footerImage.AlternateText = "Spring";
- // break;
- // case 5:
- // case 6:
- // case 7:
- // _headerImage.ImageUrl = "../../Images/header_summer.jpg";
- // _footerImage.ImageUrl = "../../Images/footer_summer.jpg";
- // _headerImage.AlternateText = _footerImage.AlternateText = "Summer";
- // break;
- // case 8:
- // case 9:
- // case 10:
- // _headerImage.ImageUrl = "../../Images/header_autumn.jpg";
- // _footerImage.ImageUrl = "../../Images/footer_autumn.jpg";
- // _headerImage.AlternateText = _footerImage.AlternateText = "Autumn";
- // break;
- // }
- //}
- //protected void RadCalendar1_DayRender(object sender, Telerik.Web.UI.Calendar.DayRenderEventArgs e)
- //{
- // if (e.Day.Date > MinDisabledDate && e.Day.Date < MaxDisabledDate)
- // {
- // RadCalendarDay day = new RadCalendarDay()
- // {
- // Date = e.Day.Date,
- // IsDisabled = true,
- // IsSelectable = false,
- // };
- // e.Cell.CssClass = "rcDisabled";
- // RadCalendar1.SpecialDays.Add(day);
- // }
- //}
- //protected void btnTiempoCita_Click(object sender, EventArgs e)
- //{
- // var logicaAgendamiento = new Logica.LogicaAgendamiento();
- // var tiempoCita = new TiempoCita()
- // {
- // EnumPrioridadCita = EnumPrioridadCita.Prioridad_A,
- // EnumTipoCita = EnumTipoCita.PrimeraVez,
- // EstablecimientoId = 1,
- // MotivoId = 1,
- // ServicioId = 1
- // };
- // var result = logicaAgendamiento.TiempoCitaObtener(tiempoCita);
- // lblTiempoCita.Text = result.Tiempo.ToString();
- //}
- //private List<AppointmentInfo> Appointments
- //{
- // get
- // {
- // List<AppointmentInfo> sessApts = Session["AppointmentsKey"] as List<AppointmentInfo>;
- // if (sessApts == null)
- // {
- // sessApts = new List<AppointmentInfo>();
- // Session["AppointmentsKey"] = sessApts;
- // }
- // return sessApts;
- // }
- //}
- //===== NUEVO CALENDARIO=========================
- #region Variables
- //Colores de prioridad
- Color colorVerde = Color.FromArgb(1, 129, 1);
- Color colorAmarillo = Color.FromArgb(237, 240, 1);
- Color colorNaranja = Color.FromArgb(243, 170, 82);
- Color colorRojo = Color.FromArgb(208, 5, 6);
- private List<PrioridadesInfo> lstPrioridades = new List<PrioridadesInfo>();
- #endregion Variables
- #region Metodos
- private Color ObtenerColorPorPorcentaje(double porcentaje)
- {
- Color color = Color.White;
- if (porcentaje >= 50 && porcentaje <= 100)
- {
- color = colorVerde;
- }
- else if (porcentaje > 25 && porcentaje <= 50)
- {
- color = colorAmarillo;
- }
- else if (porcentaje > 0 && porcentaje <= 25)
- {
- color = colorNaranja;
- }
- else if (porcentaje == 0)
- {
- color = colorRojo;
- }
- return color;
- }
- private void AgregarFranja(int id, DateTime dia, double porcentaje, string nombrePrioridad)
- {
- DateTime start = dia.Date;
- DateTime end = start.AddDays(1);
- RadScheduler1.InsertAppointment(new Appointment
- {
- ID = id,
- Subject = nombrePrioridad + " - " + porcentaje + "%",
- Start = start,
- End = end,
- Description = porcentaje.ToString(),
- BackColor = ObtenerColorPorPorcentaje(porcentaje),
- ForeColor = Color.Black
- });
- }
- private void AgregarFranjasCalendario()
- {
- //Datos de prueba simulando una Entidad con ciertos datos para mostrar
- lstPrioridades.Add(new PrioridadesInfo(1, "Prioridad A", DateTime.Now.AddDays(1), 0));
- lstPrioridades.Add(new PrioridadesInfo(2, "Prioridad B", DateTime.Now.AddDays(1), 10));
- lstPrioridades.Add(new PrioridadesInfo(3, "Subsecuente A", DateTime.Now.AddDays(1), 75));
- lstPrioridades.Add(new PrioridadesInfo(4, "Subsecuente B", DateTime.Now.AddDays(1), 15));
- lstPrioridades.Add(new PrioridadesInfo(5, "Prioridad A", DateTime.Now.AddDays(2), 50));
- lstPrioridades.Add(new PrioridadesInfo(6, "Prioridad B", DateTime.Now.AddDays(2), 100));
- lstPrioridades.Add(new PrioridadesInfo(7, "Subsecuente A", DateTime.Now.AddDays(2), 40));
- lstPrioridades.Add(new PrioridadesInfo(8, "Subsecuente B", DateTime.Now.AddDays(2), 15));
- lstPrioridades.Add(new PrioridadesInfo(9, "Prioridad A", DateTime.Now.AddDays(3), 10));
- lstPrioridades.Add(new PrioridadesInfo(10, "Prioridad B", DateTime.Now.AddDays(3), 35));
- lstPrioridades.Add(new PrioridadesInfo(11, "Subsecuente A", DateTime.Now.AddDays(3), 100));
- lstPrioridades.Add(new PrioridadesInfo(12, "Subsecuente B", DateTime.Now.AddDays(3), 0));
- foreach (var item in lstPrioridades)
- {
- AgregarFranja(item.PrioridadesId, item.Dia, item.Porcentaje, item.Nombre);
- }
- }
- #endregion Metodos
- #region Eventos
- protected override void OnInit(EventArgs e)
- {
- base.OnInit(e);
- if (!IsPostBack)
- {
- //Se muestran solo 3 dias
- RadScheduler1.MultiDayView.NumberOfDays = 3;
- //Desde el siguiente dia al actual
- RadScheduler1.SelectedDate = DateTime.Now.AddDays(1);
- //Datos iniciales de prueba
- AgregarFranjasCalendario();
- }
- }
- protected void RadScheduler1_AppointmentClick(object sender, SchedulerEventArgs e)
- {
- var porcentaje = Convert.ToDouble(e.Appointment.Description);
- if (porcentaje == 100)
- {
- UtilitarioAplicacion.AbrirModalMensajes(Page, Page.GetType(), GrsMensajes.MensajeTipoWucs, GrsMensajes.alertaTipoOk, GrsMensajes.tituloOk, "Franja al 100%");
- }
- else
- {
- //Realizar la accion necesaria
- }
- }
- #endregion Eventos
- }
- public class PrioridadesInfo
- {
- public int PrioridadesId { get; set; }
- public string Nombre { get; set; }
- public DateTime Dia { get; set; }
- public double Porcentaje { get; set; }
- public PrioridadesInfo(int prioridadesId, string nombre, DateTime dia, double porcentaje)
- {
- PrioridadesId = prioridadesId;
- Nombre = nombre;
- Dia = dia;
- Porcentaje = porcentaje;
- }
- }
- }
Add Comment
Please, Sign In to add comment