Пример #1
0
        private void InitScheduleDates(DateTime courseStartDate, DateTime courseEndDate)
        {
            samling = new ScheduleViewModels[MaxDates];

            for (int i = 0; i < MaxDates; i++)
            {
                samling[i] = new ScheduleViewModels
                {
                    Date        = courseStartDate.ToString("yyyy-MM-dd"),
                    Day         = courseStartDate.DayOfWeek.ToString(),
                    Modul       = "",
                    PM          = "",
                    AM          = "",
                    ActuallDate = courseStartDate,
                    Year        = courseStartDate.ToString("yyyy"),
                    DayOfYear   = courseStartDate.DayOfYear,
                    ErrModul    = new List <string>(),
                    ErrAM       = new List <string>(),
                    ErrPM       = new List <string>()
                };

                if (i % 2 == 0)
                {
                    samling[i].bgColor = "LightSteelBlue";
                }
                else
                {
                    samling[i].bgColor = "#ffffff";
                }
                courseStartDate = courseStartDate.AddDays(1);
            }
        }
Пример #2
0
        public ActionResult AddOrEdit(ScheduleViewModels model)
        {
            ScheduleViewModels viewModel = new ScheduleViewModels();

            try
            {
                if (model.ScheduleMessageID != 0)
                {
                    var dbResult = userService.GetMessageDetailsById(model.ScheduleMessageID);
                    dbResult.ScheduleMessage_Message        = model.Message;
                    dbResult.ScheduleMessage_TriggerTypeID  = model.TriggerTypeId;
                    dbResult.ScheduleMessage_TriggerEventID = model.TriggerEventId;
                    dbResult.ScheduleMessage_TriggerID      = model.TriggerId;
                    dbResult.ScheduleMessage_If1            = model.If1;
                    dbResult.ScheduleMessage_If2            = model.If2;
                    dbResult.ScheduleMessage_Time           = model.Time;
                    dbResult.Appointment_Schedule           = model.Day;
                    if (userService.UpdateMessage(dbResult))
                    {
                        TempData["successMessage"] = "Message has been updated sucessfully.";
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (Exception ex)
            {
                TempData["errorMessage"] = ex.Message;
            }
            BindDropDowns();
            return(View(viewModel));
        }
Пример #3
0
        public ActionResult AddOrEdit(int id = 0)
        {
            BindDropDowns();

            ScheduleViewModels viewModel = new ScheduleViewModels();

            try
            {
                if (Session["loggedUser"] == null)
                {
                    return(RedirectToAction("Login", "Account"));
                }

                if (id != 0)
                {
                    viewModel = userService.GetMessageById(id);
                }
            }
            catch (Exception ex)
            {
            }


            return(View(viewModel));
        }
Пример #4
0
        public ScheduleViewModels GetMessageById(int id)
        {
            var result = new ScheduleViewModels();

            var triggerType = _context.ScheduleMessages.FirstOrDefault(c => c.ScheduleMessage_ID == id);

            if (triggerType.ScheduleMessage_TriggerTypeID != 7)
            {
                result = (from u in _context.ScheduleMessages.Where(c => c.ScheduleMessage_ID == id)
                          join trgType in _context.TriggerTypes on u.ScheduleMessage_TriggerTypeID equals trgType.TriggerType_ID into trgTypeL
                          from trgType in trgTypeL.DefaultIfEmpty()
                          join trgEvent in _context.TriggerEvents on u.ScheduleMessage_TriggerEventID equals trgEvent.TriggerEvent_ID into trgEventL
                          from trgEvent in trgEventL.DefaultIfEmpty()
                          // join trg in _context.Triggers on u.ScheduleMessage_TriggerID equals trg.Trigger_ID into trgL
                          // from trg in trgL.DefaultIfEmpty()
                          select new ScheduleViewModels
                {
                    ScheduleMessageID = u.ScheduleMessage_ID,
                    Message = u.ScheduleMessage_Message,
                    If1 = u.ScheduleMessage_If1,
                    If2 = u.ScheduleMessage_If2,
                    TriggerTypeId = trgType.TriggerType_ID,
                    Time = u.ScheduleMessage_Time,
                    Day = u.Appointment_Schedule,
                    TriggerEventId = trgEvent.TriggerEvent_ID,
                    // TriggerId = trg.Trigger_ID
                }).FirstOrDefault();
            }
            else
            {
                result = (from u in _context.ScheduleMessages.Where(c => c.ScheduleMessage_ID == id)
                          join trgType in _context.TriggerTypes on u.ScheduleMessage_TriggerTypeID equals trgType.TriggerType_ID into trgTypeL
                          from trgType in trgTypeL.DefaultIfEmpty()
                          //join trgEvent in _context.TriggerEvents on u.ScheduleMessage_TriggerEventID equals trgEvent.TriggerEvent_ID into trgEventL
                          //from trgEvent in trgEventL.DefaultIfEmpty()
                          // join trg in _context.Triggers on u.ScheduleMessage_TriggerID equals trg.Trigger_ID into trgL
                          // from trg in trgL.DefaultIfEmpty()
                          select new ScheduleViewModels
                {
                    ScheduleMessageID = u.ScheduleMessage_ID,
                    Message = u.ScheduleMessage_Message,
                    If1 = u.ScheduleMessage_If1,
                    If2 = u.ScheduleMessage_If2,
                    TriggerTypeId = trgType.TriggerType_ID,
                    Time = u.ScheduleMessage_Time,
                    Day = u.Appointment_Schedule
                          // TriggerEventId = trgEvent.TriggerEvent_ID,
                          // TriggerId = trg.Trigger_ID
                }).FirstOrDefault();
            }



            return(result);
        }
Пример #5
0
        public List <ScheduleViewModels> GetList()
        {
            var myList = new List <ScheduleViewModels>();

            for (int i = 0; i < MaxDates; i++)
            {
                var model = new ScheduleViewModels();
                model = GetOneLine(i);
                myList.Add(model);
            }

            return(myList);
        }
Пример #6
0
        // UpdateAMName
        private ScheduleViewModels UpdateAMName(ScheduleViewModels model, string name)
        {
            if (model.AM == "")
            {
                model.AM = name;
            }
            else
            {
                model.ErrAM.Add(name);
            }

            return(model);
        }
Пример #7
0
        // UpdateModelName
        private ScheduleViewModels UpdateModelName(ScheduleViewModels model, string name)
        {
            if (model.Modul == "")
            {
                model.Modul = name;
            }
            else
            {
                model.ErrModul.Add(name);
            }

            return(model);
        }
Пример #8
0
        public ActionResult Create(ScheduleViewModels model)
        {
            if (model.TriggerTypeId == 4)
            {
                if (model.Day == null)
                {
                    TempData["errorMessage"] = "Day field is required for Appointment type";
                    BindDropDowns();
                    ViewBag.eventId = model.TriggerTypeId;
                    return(View());
                }
            }


            if (ModelState.IsValid)
            {
                // Save the data in the Schedule Message
                try
                {
                    DevinTwilioEntities db = new DevinTwilioEntities();

                    var dbResult = new ScheduleMessage();


                    //** This code is commented out to add multiple messages for same event type, event and for same day **//

                    //if (model.TriggerTypeId == (int)TriggerType_Enum.Response)
                    //    dbResult = db.ScheduleMessages.FirstOrDefault(c => c.ScheduleMessage_Message == model.Message);
                    //else if (model.TriggerTypeId == (int)TriggerType_Enum.Appointment)
                    //{
                    //    dbResult = db.ScheduleMessages.FirstOrDefault(c => c.ScheduleMessage_TriggerEventID == model.TriggerEventId && c.ScheduleMessage_TriggerTypeID == model.TriggerTypeId && c.Appointment_Schedule == model.Day);
                    //    }
                    //else
                    //    dbResult = db.ScheduleMessages.FirstOrDefault(c => c.ScheduleMessage_TriggerEventID == model.TriggerEventId && c.ScheduleMessage_TriggerTypeID == model.TriggerTypeId);
                    //if (dbResult != null)
                    //{
                    //    TempData["errorMessage"] = "Message already exist for selected trigger types and events.";
                    //    BindDropDowns();
                    //    ViewBag.eventId = model.TriggerTypeId;
                    //    return View();
                    //}


                    // TODO 1 - we have to remove this code and assign mmdomainid and mmsubdomainid directly from model
                    var domainId    = 0;
                    var subDomainId = 0;
                    if (model.MMDomainName != "")
                    {
                        var mmDomain = db.MMDomains.FirstOrDefault(c => c.MMDomain_Name == model.MMDomainName);
                        if (mmDomain != null)
                        {
                            domainId = mmDomain.MMDomain_ID;
                        }
                    }

                    if (model.MMSubDomainName != "")
                    {
                        var mmSubDomain = db.MMSubDomains.FirstOrDefault(c => c.MMSubDomain_Name == model.MMSubDomainName);
                        if (mmSubDomain != null)
                        {
                            subDomainId = mmSubDomain.MMSubDomain_ID;
                        }
                    }


                    ScheduleMessage objScheduleMessage = new ScheduleMessage();
                    objScheduleMessage.ScheduleMessage_Message        = model.Message;
                    objScheduleMessage.ScheduleMessage_TriggerTypeID  = model.TriggerTypeId;
                    objScheduleMessage.ScheduleMessage_TriggerEventID = model.TriggerEventId;
                    objScheduleMessage.ScheduleMessage_TriggerID      = model.TriggerId;
                    objScheduleMessage.ScheduleMessage_Time           = model.Time;
                    objScheduleMessage.ScheduleMessage_If1            = model.If1;
                    objScheduleMessage.ScheduleMessage_If2            = model.If2;
                    objScheduleMessage.ScheduleMessage_OtherNotes     = model.OtherNotes;
                    objScheduleMessage.ScheduleMessage_MMDomainID     = domainId;
                    objScheduleMessage.ScheduleMessage_MMSubDomainID  = subDomainId;
                    objScheduleMessage.Appointment_Schedule           = model.Day;
                    db.ScheduleMessages.Add(objScheduleMessage);
                    db.SaveChanges();
                    TempData["successMessage"] = "Message has been added sucessfully.";
                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception ex)
                {
                    TempData["errorMessage"] = ex.Message;
                }
            }
            BindDropDowns();
            return(View());
        }