public static AttendeeListViewModel Create(Seminar seminar, IPersonService personService, string siteId)
        {
            Check.Require(seminar != null, "seminar is required.");
            Check.Require(personService != null, "personService is required.");

            var viewModel = new AttendeeListViewModel()
                                {
                                    Seminar = seminar,
                                };

            // pull the invitation list
            var invitations = viewModel.Seminar.Invitations.Where(a => a.Seminar.Site.Id == siteId).Select(a => a.Person).ToList();
            // pull applications
            var applications = viewModel.Seminar.Applications.Where(a => a.Seminar.Site.Id == siteId).ToList();
            // pull seminar people
            var seminarPeople = viewModel.Seminar.SeminarPeople;

            var people = new List<DisplayPerson>();

            people.AddRange(DetermineParticipation(personService, seminarPeople.Where(a => a.Paid).Select(a => a.Person).ToList(), siteId, registered: true));
            people.AddRange(DetermineParticipation(personService, seminarPeople.Where(a => !a.Paid).Select(a => a.Person).ToList(), siteId, accepted: true));
            people.AddRange(DetermineParticipation(personService, applications.Where(a => !a.IsPending && !a.IsApproved).Select(a => a.User.Person).ToList(), siteId, denied: true));
            people.AddRange(DetermineParticipation(personService, applications.Where(a => a.IsPending).Select(a => a.User.Person).ToList(), siteId, applied: true));
            people.AddRange(DetermineParticipation(personService, invitations.Where(a => !people.Select(b => b.Person).Contains(a)).ToList(), siteId, invite: true));

            viewModel.SeminarPeople = people;

            return viewModel;
        }
Example #2
0
 protected void gvSchedule_SelectedIndexChanged(object sender, EventArgs e)
 {
     Panel1.Visible = true;
     List <Seminar>  seminars  = SeminarMgr.getAllSeminar();
     Seminar         a         = seminars[gvSeminar.PageSize * gvSeminar.PageIndex + gvSeminar.SelectedIndex];
     List <Schedule> schedules = ScheduleMgr.getAllScheduleById(a.Id);
     Schedule        b         = schedules[gvSchedule.SelectedIndex];
 }
        public ActionResult RemovePost(int id, int pid)
        {
            Seminar seminar = SeminarService.GetById(id);
            Post    post    = PostService.GetById(pid);
            bool    b       = SeminarPostService.DeleteEntitySaved(s => s.SeminarId == id && s.PostId == pid) > 0;

            return(ResultData(null, b, b ? $"已成功将【{post.Title}】从专题【{seminar.Title}】移除" : "添加失败!"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Seminar seminar = db.Seminari.Find(id);

            db.Seminari.Remove(seminar);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #5
0
        public ActionResult AzurirajPopunjenost()
        {
            List <Seminar> seminari = new List <Seminar>();
            Seminar        seminar  = new Seminar();

            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                foreach (var item in db.Seminar.ToList())
                {
                    if (item.Predbiljezbe.Count(x => x.StatusPredbiljezbe == EnumStatusPredbiljezbe.Prihvacena) >= item.MaxBrojPolaznika && item.Popunjen == false)
                    {
                        seminari.Add(item);
                    }
                }

                foreach (var item in seminari)
                {
                    seminar                  = db.Seminar.Find(item.IdSeminar);
                    seminar.IdSeminar        = item.IdSeminar;
                    seminar.Objava           = item.Objava;
                    seminar.Naziv            = item.Naziv;
                    seminar.Opis             = item.Opis;
                    seminar.Datum            = item.Datum;
                    seminar.MaxBrojPolaznika = item.MaxBrojPolaznika;
                    seminar.Popunjen         = true;

                    db.Entry(seminar).State = EntityState.Modified;
                    db.SaveChanges();
                }

                seminari.Clear();

                foreach (var item in db.Seminar.ToList())
                {
                    if (item.Predbiljezbe.Count(x => x.StatusPredbiljezbe == EnumStatusPredbiljezbe.Prihvacena) < item.MaxBrojPolaznika && item.Popunjen == true)
                    {
                        seminari.Add(item);
                    }
                }

                foreach (var item in seminari)
                {
                    seminar                  = db.Seminar.Find(item.IdSeminar);
                    seminar.IdSeminar        = item.IdSeminar;
                    seminar.Objava           = item.Objava;
                    seminar.Naziv            = item.Naziv;
                    seminar.Opis             = item.Opis;
                    seminar.Datum            = item.Datum;
                    seminar.MaxBrojPolaznika = item.MaxBrojPolaznika;
                    seminar.Popunjen         = false;

                    db.Entry(seminar).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Seminari"));
        }
Example #6
0
        public async Task <Seminar> CreateAsync(Seminar seminar)
        {
            using (var client = new HttpClient())
            {
                var rezult = JsonConvert.SerializeObject(await client.PostAsJsonAsync(uri + "Seminar", seminar));

                return(seminar);
            }
        }
Example #7
0
 public ActionResult UrediSeminar(Seminar seminar)
 {
     if (ModelState.IsValid)
     {
         _seminari.UrediSeminar(seminar);
         return(RedirectToAction("Predbiljezba"));
     }
     return(View(seminar));
 }
        public static AssignToSessionViewModel Create(Seminar seminar)
        {
            var viewModel = new AssignToSessionViewModel()
            {
                Seminar = seminar
            };

            return(viewModel);
        }
Example #9
0
        // GET: Predbiljezba
        public ActionResult CreateUser(int id)
        {
            Seminar seminar = db.Seminar.Find(id);

            Session["IdSeminar"] = id;
            Session["Seminar"]   = seminar.Naziv;

            return(View());
        }
Example #10
0
        public async Task <ActionResult> Write(PostCommand post, DateTime?timespan, bool schedule = false)
        {
            post.Content = await ImagebedClient.ReplaceImgSrc(post.Content.Trim().ClearImgAttributes());

            if (!ValidatePost(post, out var resultData))
            {
                return(resultData);
            }

            post.Status = Status.Published;
            Post p = post.Mapper <Post>();

            p.Modifier      = p.Author;
            p.ModifierEmail = p.Email;
            p.IP            = ClientIP;
            if (!string.IsNullOrEmpty(post.Seminars))
            {
                var tmp = post.Seminars.Split(',').Distinct();
                foreach (var s in tmp)
                {
                    var     id      = s.ToInt32();
                    Seminar seminar = await SeminarService.GetByIdAsync(id);

                    p.Seminar.Add(new SeminarPost()
                    {
                        Post      = p,
                        PostId    = p.Id,
                        Seminar   = seminar,
                        SeminarId = seminar.Id
                    });
                }
            }

            if (schedule)
            {
                if (!timespan.HasValue || timespan.Value <= DateTime.Now)
                {
                    return(ResultData(null, false, "如果要定时发布,请选择正确的一个将来时间点!"));
                }

                p.Status     = Status.Schedule;
                p.PostDate   = timespan.Value.ToUniversalTime();
                p.ModifyDate = timespan.Value.ToUniversalTime();
                HangfireHelper.CreateJob(typeof(IHangfireBackJob), nameof(HangfireBackJob.PublishPost), args: p);
                return(ResultData(p.Mapper <PostDto>(), message: $"文章于{timespan.Value:yyyy-MM-dd HH:mm:ss}将会自动发表!"));
            }

            PostService.AddEntity(p);
            bool b = await SearchEngine.SaveChangesAsync() > 0;

            if (!b)
            {
                return(ResultData(null, false, "文章发表失败!"));
            }

            return(ResultData(null, true, "文章发表成功!"));
        }
Example #11
0
        public ActionResult SeminarDelete(int id)
        {
            Seminar seminar = _db.Seminars.Find(id);

            _db.Seminars.Remove(seminar);
            _db.SaveChanges();

            return(RedirectToAction("SeminariEdit"));
        }
Example #12
0
        public ActionResult Prijavi(int id)
        {
            Seminar seminar = db.Seminars.Find(id);

            ViewBag.IdSeminar = new SelectList(db.Seminars, "IdSeminar", "Naziv");


            return(View());
        }
Example #13
0
        public ActionResult DeleteConfirmed(int id)
        {
            Seminar seminar = db.Seminari.Find(id);

            db.Seminari.Remove(seminar);
            db.SaveChanges();
            TempData["Promjene"] = $"Seminar \"{seminar.Naziv}\" je izbrisan!";
            return(RedirectToAction("Index"));
        }
    protected void gvSeminar_SelectedIndexChanged(object sender, EventArgs e)
    {
        //get the list seminar from global.asax
        List <Seminar> seminars = SeminarMgr.getAllSeminar();
        //calling data from seminars and schedule
        Seminar a = seminars[gvSeminar.PageSize * gvSeminar.PageIndex + gvSeminar.SelectedIndex];

        tbxSeminarName.Text = a.Name;
    }
Example #15
0
 public ActionResult Stvori([Bind(Include = "IdSeminar, Naziv, Datum, Popunjen, Opis")] Seminar seminar)
 {
     if (ModelState.IsValid)
     {
         db.Seminar.Add(seminar);
         db.SaveChanges();
         return(RedirectToAction("Pretraga", "Seminari"));
     }
     return(View(seminar));
 }
Example #16
0
        public async Task <IActionResult> DeleteSeminar(Seminar seminar)
        {
            _genericsRepo.Delete(seminar);

            if (await _genericsRepo.SaveAll())
            {
                return(NoContent());
            }
            return(BadRequest("Delete Failed!"));
        }
        public async Task <ActionResult> RemovePost(int id, int pid)
        {
            Seminar seminar = await SeminarService.GetByIdAsync(id);

            Post post = await PostService.GetByIdAsync(pid);

            bool b = await SeminarPostService.DeleteEntitySavedAsync(s => s.SeminarId == id && s.PostId == pid) > 0;

            return(ResultData(null, b, b ? $"已成功将【{post.Title}】从专题【{seminar.Title}】移除" : "添加失败!"));
        }
 public static SeminarViewModel Convert(Seminar obj)
 {
     return(new SeminarViewModel()
     {
         ID = obj.ID,
         Name = obj.Name,
         Extent = obj.Extent,
         Teacher = obj.TeacherID
     });
 }
Example #19
0
        public ActionResult Delete(int id, FormCollection collection)
        {
            Seminar seminar = db.Seminar
                              .Where(s => s.Id == id).First();

            db.Seminar.Remove(seminar);
            db.SaveChanges();

            return(RedirectToAction("CreateForKolegij", new { id = seminar.KolegijId }));
        }
Example #20
0
 public ActionResult Uredi([Bind(Include = "IdSeminar, Naziv, Datum, Popunjen, Opis")] Seminar seminar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(seminar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Pretraga", "Seminari"));
     }
     return(View(seminar));
 }
Example #21
0
        private void updateGBXSeminar(int seminarId)
        {
            Seminar seminar = dbContext.Seminars.Find(seminarId);

            lblSeminarStartDateValue.Text = seminar.SeminarStartDate.ToString();
            lblSeminarEndDateValue.Text   = seminar.SeminarEndDate.ToString();
            lblRoomNameValue.Text         = seminar.Room.RoomName;
            lblFilledValue.Text           = dbContext.AttendeeSeminars.Where(a => a.SeminarId == seminarId).Count().ToString();
            lblRoomCapacityValue.Text     = seminar.Room.RoomCapacity.ToString();
        }
 public ActionResult Edit([Bind(Include = "SeminarId,Title,Description,location,SeminarDate,Speaker,Price")] Seminar seminar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(seminar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(seminar));
 }
        private Seminar FromReader(NpgsqlDataReader reader)
        {
            var obj = new Seminar();

            obj.ID        = reader.GetInt32(0);
            obj.Name      = reader.GetString(1);
            obj.Extent    = reader.GetString(2);
            obj.TeacherID = reader.GetInt32(3);
            return(obj);
        }
Example #24
0
        public ActionResult IzbrisiSeminar(int id)
        {
            Seminar seminar = new Seminar();

            seminar = db.Seminari.Where(u => u.IdSeminar == id).FirstOrDefault();
            db.Seminari.Remove(seminar);
            db.SaveChanges();

            return(RedirectToAction("Seminari"));
        }
 public ActionResult Create([Bind(Include = "IdSeminar,Naziv,Opis,Datum,Popunjen")] Seminar seminar)
 {
     if (ModelState.IsValid)
     {
         db.Seminars.Add(seminar);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(seminar));
 }
Example #26
0
        public ActionResult RemoveSeminar(int id, int sid)
        {
            var     post    = PostBll.GetById(id);
            Seminar seminar = SeminarBll.GetById(sid);

            post.Seminar.Remove(seminar);
            bool b = PostBll.UpdateEntitySaved(post);

            return(ResultData(null, b, b ? $"已将文章【{post.Title}】从【{seminar.Title}】专题移除" : "添加失败"));
        }
Example #27
0
 public static SeminarContract ToDataContract(this Seminar seminar)
 {
     return(new SeminarContract
     {
         SeminarId = seminar.SeminarId,
         Name = seminar.Name,
         Description = seminar.Description,
         Lecturers = seminar.Lecturers.ConvertAll(ToDataContract)
     });
 }
Example #28
0
 public ActionResult Edit([Bind(Include = "IdSeminar,Naziv,Opis,Datum,Popunjen")] Seminar seminar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(seminar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(seminar));
 }
Example #29
0
        public ActionResult Seminar_Delete(int?id, Seminar s)
        {
            s = db.Seminars.Find(id);

            db.Seminars.Remove(s);

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public ActionResult RemovePost(int id, int pid)
        {
            Seminar seminar = SeminarBll.GetById(id);
            Post    post    = PostBll.GetById(pid);

            seminar.Post.Remove(post);
            bool b = SeminarBll.UpdateEntitySaved(seminar);

            return(ResultData(null, b, b ? $"已成功将【{post.Title}】从专题【{seminar.Title}】移除" : "添加失败!"));
        }
Example #31
0
        public async Task <ActionResult> Write(PostCommand post, DateTime?timespan, bool schedule = false, CancellationToken cancellationToken = default)
        {
            post.Content = await ImagebedClient.ReplaceImgSrc(await post.Content.Trim().ClearImgAttributes(), cancellationToken);

            if (!ValidatePost(post, out var resultData))
            {
                return(resultData);
            }

            post.Status = Status.Published;
            Post p = post.Mapper <Post>();

            p.Modifier      = p.Author;
            p.ModifierEmail = p.Email;
            p.IP            = ClientIP;
            p.Rss           = p.LimitMode is null or RegionLimitMode.All;
            if (!string.IsNullOrEmpty(post.Seminars))
            {
                var tmp = post.Seminars.Split(',').Distinct();
                foreach (var s in tmp)
                {
                    var     id      = s.ToInt32();
                    Seminar seminar = await SeminarService.GetByIdAsync(id);

                    p.Seminar.Add(seminar);
                }
            }

            if (schedule)
            {
                if (!timespan.HasValue || timespan.Value <= DateTime.Now)
                {
                    return(ResultData(null, false, "如果要定时发布,请选择正确的一个将来时间点!"));
                }

                p.Status     = Status.Schedule;
                p.PostDate   = timespan.Value.ToUniversalTime();
                p.ModifyDate = timespan.Value.ToUniversalTime();
                BackgroundJob.Enqueue <IHangfireBackJob>(job => job.PublishPost(p));
                return(ResultData(p.Mapper <PostDto>(), message: $"文章于{timespan.Value:yyyy-MM-dd HH:mm:ss}将会自动发表!"));
            }

            PostService.AddEntity(p);
            var js = new JiebaSegmenter();

            (p.Keyword + "," + p.Label).Split(',', StringSplitOptions.RemoveEmptyEntries).ForEach(s => js.AddWord(s));
            bool b = await SearchEngine.SaveChangesAsync() > 0;

            if (!b)
            {
                return(ResultData(null, false, "文章发表失败!"));
            }

            return(ResultData(null, true, "文章发表成功!"));
        }
        public static CaseStudyViewModel Create(IRepository repository, Seminar seminar, CaseStudy caseStudy = null)
        {
            Check.Require(repository != null, "Repository must be supplied");

            var viewModel = new CaseStudyViewModel
                                {
                                    Seminar = seminar,
                                    CaseStudy = caseStudy ?? new CaseStudy()
                                };

            return viewModel;
        }
Example #33
0
        private static void ReadData(string file, bool imported, List<Seminar> seminars, List<KeyValuePair<string, string>> errors)
        {
            var sheet = ExcelHelpers.OpenWorkbook(HostingEnvironment.MapPath(file));

            for (var i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++)
            {
                var row = sheet.GetRow(i);

                try
                {
                    var s_id = ExcelHelpers.ReadIntCell(row, 7);

                    // check the existance
                    if (Db.Seminars.Any(a => a.s_Id == s_id)) throw new Exception("Already exists");

                    // check and see if we came across it already in this file
                    var item = seminars.Where(a => a.s_Id == s_id).FirstOrDefault();
                    if (item != null)
                    {
                        errors.Add(new KeyValuePair<string, string>(s_id.ToString(), "duplicate value, replacing old"));

                        // get the index to remove the first one
                        seminars.Remove(item);
                    }

                    var seminar = new Seminar();

                    seminar.ApplicationStatus = ExcelHelpers.ReadCell(row, 0);  // a
                    seminar.ContactName = ExcelHelpers.ReadCell(row, 1);        // b
                    seminar.DateApplicationFormComplete = ExcelHelpers.ReadDateCell(row, 2);    // c
                    seminar.DateCreated = ExcelHelpers.ReadDateCell(row, 3);    // d
                    seminar.DateModified = ExcelHelpers.ReadDateCell(row, 4);   // e
                    seminar.Expectations = ExcelHelpers.ReadCell(row, 5);       // f
                    seminar.ContactId = ExcelHelpers.ReadIntCell(row, 6);       // g

                    seminar.s_Id = ExcelHelpers.ReadIntCell(row, 7);            // h
                    seminar.CreatedBy = ExcelHelpers.ReadCell(row, 8);          // i
                    seminar.ModifiedBy = ExcelHelpers.ReadCell(row, 9);         // j

                    seminar.IsCaseExecutive = ExcelHelpers.ReadBoolCell(row, 10);   // k
                    seminar.IsDiscussionGroupLead = ExcelHelpers.ReadBoolCell(row, 11); // l
                    seminar.IsFaculty = ExcelHelpers.ReadBoolCell(row, 12);     // m
                    seminar.IsSteeringCommittee = ExcelHelpers.ReadBoolCell(row, 13);   // n
                    seminar.IsPanelist = ExcelHelpers.ReadBoolCell(row, 14);    // o
                    seminar.IsParticipant = ExcelHelpers.ReadBoolCell(row, 15); // p
                    seminar.IsSpeaker = ExcelHelpers.ReadBoolCell(row, 16);     // Q
                    seminar.IsStaff = ExcelHelpers.ReadBoolCell(row, 17);       // r
                    seminar.IsVendor = ExcelHelpers.ReadBoolCell(row, 18);      // s
                    seminar.Accepted = ExcelHelpers.ReadBoolCell(row, 19);      // t
                    seminar.ExpensesComped = ExcelHelpers.ReadBoolCell(row, 20);// u

                    seminar.IsApplicant = ExcelHelpers.ReadBoolCell(row, 21);   // v
                    seminar.IsInvitee = ExcelHelpers.ReadBoolCell(row, 22);     // w

                    seminar.Year = ExcelHelpers.ReadIntCell(row, 23);           // x
                    seminar.PreviousYear = ExcelHelpers.ReadIntCell(row, 24);   // y

                    seminars.Add(seminar);
                }
                catch (Exception ex)
                {
                    errors.Add(new KeyValuePair<string, string>(ExcelHelpers.ReadIntCell(row, 7).ToString(), ex.Message));
                }

            }

            // save all the instances
            if (!imported)
            {
                foreach (var a in seminars)
                {
                    Db.Seminars.Add(a);
                }

                Db.SaveChanges();
            }
        }
Example #34
0
        /// <summary>
        /// Determines if a person has access to a seminar's information
        /// </summary>
        /// <param name="person"></param>
        /// <param name="seminar"></param>
        /// <returns>True, has access</returns>
        public bool HasAccess(Person person, Seminar seminar, bool paidResources = true)
        {
            Check.Require(person != null, "person is required.");
            Check.Require(seminar != null, "seminar is required.");

            if (paidResources)
            {
                return person.SeminarPeople.Any(a => a.Seminar == seminar && a.Paid) && seminar.ReleaseToAttendees;
            }
            else
            {
                return person.SeminarPeople.Any(a => a.Seminar == seminar) && seminar.ReleaseToAttendees;
            }
        }
Example #35
0
        /// <summary>
        /// Determines if a person has access to a seminar's information
        /// </summary>
        /// <returns>True, has access</returns>
        public bool HasAccess(string loginId, Seminar seminar, bool paidResources = true)
        {
            var person = LoadPerson(loginId);

            return HasAccess(person, seminar, paidResources);
        }
Example #36
0
        /// <summary>
        /// Generates person with the associated latest revision of firm
        /// </summary>
        /// <param name="person"></param>
        /// <param name="firms">List of firms, there should only be one instance of each firm in this list</param>
        /// <returns></returns>
        public DisplayPerson GetDisplayPerson(Person person, string site, Seminar seminar = null)
        {
            Check.Require(person != null, "person is required.");

            var displayPerson = new DisplayPerson() {Person = person};

            var reg = seminar == null ? person.GetLatestRegistration(site) : person.SeminarPeople.Where(a=>a.Seminar == seminar).FirstOrDefault();
            if (reg == null) return displayPerson;

            displayPerson.Seminar = reg.Seminar;
            displayPerson.Firm = reg.Firm;
            displayPerson.Title = reg.Title;

            return displayPerson;
        }
Example #37
0
        public ActionResult Schedule(Params args, Schedule scheduleObject)
        {
            scheduleObject.SetCurrentCultureInfo();
            ActionResult result = null;
            var parentID = Guid.Parse(Session["ParentID"].ToString());
            var scheduleType = (ScheduleType)int.Parse(Session["ScheduleType"].ToString());
            using (var context = new OfficeContext())
            {
                if (args.CurrentAction == "Save")
                {
                    var startTime = DateTime.Parse(args.StartTime.Replace("上午", "AM").Replace("下午", "PM"));
                    var endTime = DateTime.Parse(args.EndTime.Replace("上午", "AM").Replace("下午", "PM"));
                    Seminar appoint = new Seminar()
                    {
                        StartTime = startTime,
                        EndTime = endTime,
                        Subject = args.Subject,
                        Location = args.Location,
                        Description = args.Description,
                        Owner = args.Owner,
                        Priority = args.Priority,
                        Recurrence = args.Recurrence,
                        RecurrenceType = args.RecurrenceType,
                        RecurrenceCount = Convert.ToInt16(args.RecurrenceTypeCount),
                        Reminder = args.Reminder,
                        Categorize = args.Categorize,
                        AllDay = args.AllDay,
                        RecurrenceEndDate = args.RecurrenceEnd != null ? Convert.ToDateTime(args.RecurrenceEnd) : endTime,
                        RecurrenceStartDate = args.RecurrenceStart != null ? Convert.ToDateTime(args.RecurrenceStart) : startTime,
                        RecurrenceRule = args.RecurrenceRules,
                        ParentID = parentID,
                        ScheduleType = scheduleType,
                        CurrentUser = User.Identity.Name
                    };
                    context.Seminars.Add(appoint);
                    context.SaveChanges();
                }
                else if (args.CurrentAction == "EditOccurrence")
                {
                    //SeminarRepository.EditOccurrence(args);
                }
                else if (args.CurrentAction == "Edit")
                {
                    var appid = int.Parse(args.AppID);
                    var point = context.Seminars.Single(s => s.Id == appid);
                    var startTime = DateTime.Parse(args.StartTime.Replace("上午", "AM").Replace("下午", "PM"));
                    var endTime = DateTime.Parse(args.EndTime.Replace("上午", "AM").Replace("下午", "PM"));

                    point.StartTime = startTime;
                    point.EndTime = endTime;
                    point.Subject = args.Subject;
                    point.Location = args.Location;
                    point.Description = args.Description;
                    point.Owner = args.Owner;
                    point.Priority = args.Priority;
                    point.Recurrence = args.Recurrence;
                    point.RecurrenceType = args.RecurrenceType;
                    point.RecurrenceCount = Convert.ToInt16(args.RecurrenceTypeCount);
                    point.Reminder = args.Reminder;
                    point.Categorize = args.Categorize;
                    point.AllDay = args.AllDay;
                    point.RecurrenceEndDate = args.RecurrenceEnd != null ? Convert.ToDateTime(args.RecurrenceEnd) : endTime;
                    point.RecurrenceStartDate = args.RecurrenceStart != null ? Convert.ToDateTime(args.RecurrenceStart) : startTime;
                    point.RecurrenceRule = args.RecurrenceRules;
                    point.ParentID = parentID;
                    point.ScheduleType = scheduleType;
                    point.CurrentUser = User.Identity.Name;
                    //context.Seminars.Add(point);
                    context.SaveChanges();
                }
                else if (args.CurrentAction == "Delete")
                {
                    var appid = int.Parse(args.AppID);
                    var point = context.Seminars.Single(s => s.Id == appid);
                    context.Seminars.Remove(point);
                    context.SaveChanges();
                }
                else if (args.CurrentAction == "DismissAll" || args.CurrentAction == "Dismiss" || args.CurrentAction == "Snooze")
                {
                    //SeminarRepository.ReminderAction(args);
                }

                result = context.Seminars.Where(s => s.ParentID == parentID && s.ScheduleType == (ScheduleType)scheduleType).ToList().ScheduleActions<ScheduleHtmlActionResult>();
            }

            return result;
        }
        /// <summary>
        /// Add a person to the invitation list with checks to make sure duplicates are not inserted
        /// </summary>
        /// <param name="seminar"></param>
        /// <param name="person"></param>
        /// <param name="title"></param>
        /// <param name="firmname"></param>
        private bool AddToInvitationList(Seminar seminar, Person person, string siteId, string title = null, string firmname = null)
        {
            Check.Require(person != null, "person is required.");
            Check.Require(seminar != null, "seminar is required.");

            var invitationList = seminar.Invitations;

            // not yet in the list
            if (!invitationList.Where(a => a.Person == person).Any())
            {
                var invitation = new Invitation(person){Title=title, FirmName = firmname, Seminar = seminar};
                _invitationRepository.EnsurePersistent(invitation);

                _eventService.Invite(person, siteId);

                return true;
            }

            return false;
        }
Example #39
0
        public static PersonViewModel Create(IRepository repository, IFirmService firmService, string site, Seminar seminar = null, Person person = null, string email = null, Firm firm = null)
        {
            Check.Require(repository != null, "Repository must be supplied");

            var viewModel = new PersonViewModel()
            {
                Person = person ?? new Person(),
                Addresses = repository.OfType<AddressType>().Queryable.Select(a => new Address() { AddressType = a}).ToList(),
                Contacts = repository.OfType<ContactType>().Queryable.Select( a => new Contact(){ContactType = a}).ToList(),
                Countries = repository.OfType<Country>().GetAll(),
                CommunicationOptions = repository.OfType<CommunicationOption>().GetAll(),
                SeminarPerson = person != null ? person.GetLatestRegistration(site) : null,
                Email = email,
                Seminar = seminar,
                Commodities = repository.OfType<Commodity>().Queryable.Where(a=>a.IsActive).ToList(),
                Firm = firm ?? new Firm()
            };

            if (firm == null && viewModel.SeminarPerson != null)
            {
                viewModel.Firm = viewModel.SeminarPerson.Firm;
            }

            // find any addresses and replace them into the list
            if (person != null)
            {
                foreach(var a in person.Addresses)
                {
                    var addr = viewModel.Addresses.Where(b => b.AddressType == a.AddressType).FirstOrDefault();

                    if (addr != null) viewModel.Addresses.Remove(addr);

                    viewModel.Addresses.Add(a);
                }

                foreach (var a in person.Contacts)
                {
                    var ct = viewModel.Contacts.Where(b => b.ContactType == a.ContactType).FirstOrDefault();

                    if (ct != null) viewModel.Contacts.Remove(ct);

                    viewModel.Contacts.Add(a);
                }
            }

            // reorder so always in the same order
            viewModel.Addresses = viewModel.Addresses.OrderBy(a => a.AddressType.Id).ToList();
            viewModel.Contacts = viewModel.Contacts.OrderBy(a => a.ContactType.Id).ToList();

            // get the firms and add the "Other" option
            var firms = new List<Firm>(firmService.GetAllFirms());
            firms.Add(new Firm() { Name = "Other (Not Listed)" });

            viewModel.Firms = firms;
            if (viewModel.Person.User != null) viewModel.UserName = viewModel.Person.User.UserName;

            return viewModel;
        }
 public static AssignToSessionViewModel Create(Seminar seminar)
 {
     var viewModel = new AssignToSessionViewModel(){Seminar =  seminar};
     return viewModel;
 }