예제 #1
0
        public JsonResult ObtenerTurnos(byte idTipoBoca, string idPlanta, string estado)
        {
            List <Object> eventos = new List <Object>();

            List <TrnFeriado> feriados = new List <TrnFeriado>();
            List <TrnTurno>   turnos   = new List <TrnTurno>();

            TrnTurno trnFeriado = new TrnTurno(configuration);

            trnFeriado.Empid = configuration.GetSection("empid").Value;
            //Toma los feriados por planta y a su vez que el idcalendarioferiado del evento corresponda con el asignado a la boca
            feriados = trnFeriado.ObtenerFeriados(idPlanta);

            TrnTurno trnTurno = new TrnTurno(configuration);

            trnTurno.Empid  = configuration.GetSection("empid").Value;
            trnTurno.Provid = configuration.GetSection("provid").Value;
            //Toma los turnos asignados a un proveedor, por tipo de boca, y que pertenezcan a la planta
            turnos = trnTurno.ObtenerTurnos(idTipoBoca, idPlanta, estado);

            eventos.AddRange(feriados);
            eventos.AddRange(turnos);
            //eventos.AddRange(HorariosOcupados(idTipoBoca, codigo));

            return(Json(eventos));
        }
예제 #2
0
        public DateTime TraerFechaDesdeEvento(int eventID)
        {
            TrnTurno trnTurno = _context.Turno.Where(a => a.EventID == eventID).FirstOrDefault();

            if (trnTurno != null)
            {
                return(trnTurno.Start);
            }
            else
            {
                return(DateTime.Now);
            }
        }
예제 #3
0
        private string TraerColorPorEstados(TrnTurno e)
        {
            string      color       = "";
            TrnBocaTipo trnTipoBoca = _context.TrnBocaTipo.Where(a => a.IdTipoBoca == e.IdTipoBoca && a.Empid == configuration.GetSection("empid").Value).FirstOrDefault();

            if (trnTipoBoca.Codigo.Trim() == "D")
            {
                color = "lightGreen";
            }
            else if (trnTipoBoca.Codigo.Trim() == "R" && !e.ConfirmadoAdherente)
            {
                color = "#FA9C99";   //Rojo claro
            }
            return(color);
        }
예제 #4
0
        private string TraerColorPorEstados(TrnTurno e)
        {
            string      color       = "";
            TrnBocaTipo trnTipoBoca = _context.TrnBocaTipo.Where(a => a.IdTipoBoca == e.IdTipoBoca && a.Empid == configuration.GetSection("empid").Value).FirstOrDefault();

            if (trnTipoBoca.Codigo.Trim() == "R")
            {
                color = "orange";
            }
            else
            {
                color = "yellow";
            }

            return(color);
        }
예제 #5
0
        public JsonResult GrabarTurno(TrnTurno e, string idPlanta)
        {
            var        status       = false;
            var        errorFeriado = false;
            var        errorBoca    = true;
            var        errorEvento  = true;
            int        idBoca       = 0;
            string     empid        = configuration.GetSection("empid").Value;
            string     provid       = configuration.GetSection("provid").Value;
            TrnFeriado trnFeriado   = new TrnFeriado(configuration);
            TrnTurno   trnTurno     = new TrnTurno(configuration);

            //REVISAR SI NO ES FERIADO EL DIA EN EL CUAL QUIERE INGRESAR EL TURNO
            if (!trnFeriado.EsFeriado(empid, e.Start, e.End))
            {
                //VERIFICAR Y BUSCAR BOCA DISPONIBLE CON EL TIPO DE BOCA SELECCIONADO
                //PRIMERO BUSCO TODAS LAS BOCAS DISPONIBLES PARA EL TIPO DE BOCA SELECCIONADO
                List <TrnBoca> trnBocasPorTipo = _context.TrnBoca.Where(a => a.IdTipoBoca == e.IdTipoBoca && a.Empid == empid && a.Estado == true).ToList();
                foreach (TrnBoca item in trnBocasPorTipo)
                {
                    //Si entra quiere decir que encuentra boca por lo tanto no existe error en bocas
                    errorBoca = false;
                    //DE TODAS LAS BOCAS ME FIJO EN CUALQUIERA QUE NO HAYA EVENTOS PARA LA FECHA Y HORA SELECCIONADA
                    //ENTONCES SI NO EXISTE UN EVENTO PARA ESA BOCA Y FECHA/HORA SELECCIONADA TOMO EL ID
                    if (!trnTurno.ExisteEvento(empid, idPlanta, e.EventID, item.IdBoca, e.IdTipoBoca, e.Start, e.End))
                    {
                        idBoca      = item.IdBoca;
                        errorEvento = false;
                        break;
                    }
                }

                if (idBoca != 0 && !errorEvento)
                {
                    if (e.EventID > 0)
                    {
                        var v = _context.Turno.Where(a => a.EventID == e.EventID).FirstOrDefault();
                        if (v != null)
                        {
                            TransporteTipo transporte = _context.TransporteTipo.Where(a => a.IdTransporteTipo == v.IdTransporteTipo && a.Empid == v.Empid).FirstOrDefault();
                            v.Provid              = provid;
                            v.Empid               = empid;
                            v.Subject             = e.Subject;
                            v.Start               = e.Start;
                            v.End                 = e.End;
                            v.Description         = e.Description;
                            v.IsFullDay           = e.IsFullDay;
                            v.ThemeColor          = TraerColorPorEstados(e);
                            v.IdTransporteTipo    = e.IdTransporteTipo;
                            v.TransporteTipo      = transporte == null? "":transporte.Nombre;
                            v.KGPrevistos         = e.KGPrevistos;
                            v.PalletsPrevistos    = e.PalletsPrevistos;
                            v.IdTipoBoca          = e.IdTipoBoca;
                            v.IdBoca              = idBoca;
                            v.ConfirmadoProveedor = e.ConfirmadoProveedor;
                        }
                    }
                    else
                    {
                        e.TransporteTipo = e.TransporteTipo == null ? "" : e.TransporteTipo;
                        e.ThemeColor     = TraerColorPorEstados(e);
                        e.Empid          = empid;
                        e.Provid         = provid;
                        e.IdBoca         = idBoca;
                        _context.Turno.Add(e);
                    }

                    _context.SaveChanges();
                    status                   = true;
                    ViewBag.Message          = "El turno se guardó correctamente!";
                    ViewBag.ResultMessageCss = "alert-success";
                }
            }
            else
            {
                errorFeriado = true;
            }
            var jsonResult = new { status = status, errorFeriado = errorFeriado, errorEvento = errorEvento, errorBoca = errorBoca, start = e.Start };

            return(Json(jsonResult));
        }