public IHttpActionResult createMeetingType([FromBody] MeetingType meetingType)
        {
            if (meetingType == null)
            {
                return(BadRequest("Meeting type sent to server is empty"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            else
            {
                using (var entities = new MeetingContext())
                {
                    var m = entities.MeetingTypes.FirstOrDefault(x => x.Name.ToLower() == meetingType.Name.ToLower());
                    //meetingtype does not exist
                    if (m == null)
                    {
                        entities.MeetingTypes.Add(meetingType);
                        entities.SaveChanges();
                        return(Created("Unknown URL", meetingType));
                    }
                    else
                    {
                        return(BadRequest("Meeting Type already exists in database"));
                    }
                }
            }
        }
        public MeetingsViewModel(MeetingType meetingType = MeetingType.Meeting)
        {
            Meetings = new ObservableCollection <Meeting>();
            type     = meetingType;

            LoadItemsCommand.Execute(null);
        }
Exemple #3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,MeetingTypeName")] MeetingType meetingType)
        {
            if (id != meetingType.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(meetingType);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MeetingTypeExists(meetingType.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(meetingType));
        }
 public MeetingAppointment(DateTime start, DateTime end, string appointmentText, MeetingType type)
 {
     StartTime       = start;
     EndTime         = end;
     AppointmentText = appointmentText;
     typeOfMeeting   = type;
 }
Exemple #5
0
        public void AddMeetingType(MeetingType meetingType)
        {
            context.MeetingTypes.Add(meetingType);
            SetAuditFields(meetingType);

            context.SaveChanges();
        }
Exemple #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            MeetingType meetingType = db.MeetingTypes.Find(id);

            db.MeetingTypes.Remove(meetingType);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public Task AddUserToType(MeetingType type, User user)
 {
     return(_userAllowRepositoryAsync.InsertAsync(new UserAllowInMeeting()
     {
         MeetingType = type,
         UserId = user.Id
     }));
 }
 public LearningPlanItem(string group, Discipline discipline, MeetingType meetingType, GroupSize groupSize, double meetingsPerWeek)
 {
     Group           = group;
     Discipline      = discipline;
     MeetingType     = meetingType;
     GroupSize       = groupSize;
     MeetingsPerWeek = meetingsPerWeek;
 }
Exemple #9
0
 public ActionResult Edit([Bind(Include = "ID,Type")] MeetingType meetingType)
 {
     if (ModelState.IsValid)
     {
         db.Entry(meetingType).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(meetingType));
 }
Exemple #10
0
        public ActionResult Create([Bind(Include = "ID,Type")] MeetingType meetingType)
        {
            if (ModelState.IsValid)
            {
                db.MeetingTypes.Add(meetingType);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(meetingType));
        }
Exemple #11
0
        public ActionResult Create(CreateEditViewModel model)
        {
            var meetingType = new MeetingType();

            Mapper.DynamicMap(model, meetingType);
            meetingTypeProvider.AddMeetingType(meetingType);

            var jsonViewModel = new AjaxViewModel(true, model, null);

            return(Json(jsonViewModel));
        }
Exemple #12
0
        public async Task <IActionResult> Create([Bind("Id,MeetingTypeName")] MeetingType meetingType)
        {
            if (ModelState.IsValid)
            {
                _context.Add(meetingType);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(meetingType));
        }
Exemple #13
0
        /// <summary>
        /// 将数据表的数据封装为业务对象
        /// </summary>
        /// <param name="mt">数据表的单行记录</param>
        /// <returns>一个业务对象</returns>
        private YunShanOA.Model.MeetingType FillRecord(YunShanOA.DataAccess.Mapping.MeetingType mt)
        {
            YunShanOA.Model.MeetingType meetingType = null;
            if (mt != null)
            {
                meetingType = new MeetingType();
                meetingType.MeetingTypeID          = mt.MeetingTypeID;
                meetingType.MeetingTypeName        = mt.MeetingTypeName;
                meetingType.MeetingTypeDescription = mt.MeetingTypeDescription;
            }

            return(meetingType);
        }
Exemple #14
0
        // GET: MeetingTypes/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MeetingType meetingType = db.MeetingTypes.Find(id);

            if (meetingType == null)
            {
                return(HttpNotFound());
            }
            return(View(meetingType));
        }
        /// <summary>
        /// Adds a calendar event for either a section event or base event, splitting each meeting day
        /// into its own calendar event.
        /// </summary>
        /// <param name="events">List of existing events that this meeting's events are added to.</param>
        /// <param name="courseAbbreviation">Abbrevitaion for the course this meeting belongs to.</param>
        /// <param name="professorName">Name of professor for this event.</param>
        /// <param name="meeting">Meeting to create events from.</param>
        private static void AddCalendarEvent(ref List <CalendarEvent> events, string courseAbbreviation, string professorName, Meeting meeting)
        {
            DateTime    start       = meeting.StartTime;
            string      sectionCode = meeting.Code;
            MeetingType type        = meeting.MeetingType;

            // Formats it into the form: 12:00am
            string startString = start.ToString("h:mmtt");
            string endString   = meeting.EndTime.ToString("h:mmtt");

            int durationInMinutes  = (int)meeting.EndTime.Subtract(start).TotalMinutes;
            int startTimeInMinutes = (start.Hour - START_HOUR) * MINUTES_IN_HOUR + start.Minute - START_MINUTES;

            // If the start time is less than 0, this event isnt during our calendar, so skip it.
            if (startTimeInMinutes < 0)
            {
                return;
            }

            var days = Enum.GetValues(typeof(Days))
                       .Cast <Days>()
                       .Where(s => meeting.Days.HasFlag(s));

            Location location        = meeting.Location;
            string   building        = location?.Building ?? "";
            string   room            = location?.RoomNumber ?? "";
            string   trimmedLocation = $"{room} {building}".Trim();
            string   locationString  = (string.IsNullOrWhiteSpace(trimmedLocation)) ? "TBA" : trimmedLocation;

            foreach (var day in days)
            {
                CalendarEvent calendarEvent = new CalendarEvent
                {
                    CourseAbbreviation = courseAbbreviation,
                    Day               = day.ToString(),
                    SectionCode       = sectionCode,
                    Type              = type.ToString(),
                    ProfessorName     = professorName,
                    Timespan          = $"{startString} - {endString}",
                    DurationInMinutes = durationInMinutes,
                    StartTimeInMinutesAfterFirstHour = startTimeInMinutes,
                    Location = locationString
                };

                events.Add(calendarEvent);
            }
        }
Exemple #16
0
        /// <summary>
        /// 会议类型的保存和更新
        /// </summary>
        /// <param name="mt">要保存或更新的MeetingType对象</param>
        /// <returns>返回MeetingTypeID</returns>
        public int SaveMeetingType(MeetingType mt)
        {
            YunShanOA.DataAccess.Mapping.MeetingType meetingType = null;
            dc = new Mapping.YunShanOADataContext();
            bool find = false;

            if (mt.MeetingTypeID == -1)
            {
                meetingType = new Mapping.MeetingType();
                dc.MeetingType.InsertOnSubmit(meetingType);
                find = true;
            }
            else
            {
                meetingType = (from meeting in dc.MeetingType
                               where meeting.MeetingTypeID == mt.MeetingTypeID
                               select meeting).FirstOrDefault();
                if (meetingType != null)
                {
                    find = true;
                    meetingType.MeetingTypeID = mt.MeetingTypeID;
                }
            }

            if (find)
            {
                meetingType.MeetingTypeName        = mt.MeetingTypeName;
                meetingType.MeetingTypeDescription = mt.MeetingTypeDescription;

                try
                {
                    dc.SubmitChanges();
                }
                catch (ChangeConflictException)
                {
                    dc.ChangeConflicts.ResolveAll(RefreshMode.OverwriteCurrentValues);
                    dc.SubmitChanges();
                }
                return(meetingType.MeetingTypeID);
            }
            else
            {
                return(-1);
            }
        }
Exemple #17
0
        public static IEnumerable<IMeetingCache> GetArchiveIndex(DefaultContext db, MeetingType meetingType, bool isAdmin, int userId)
        {
            switch (meetingType)
            {
                case MeetingType.Lgs:
                    MeetingCacheBusinessInfo[] meetingCacheBusinessInfos = isAdmin
                        ? db.Database.SqlQuery<MeetingCacheBusinessInfo>(String.Format(GetMeetingArchiveIndexProcedureTemplate, (int)MeetingType.Lgs)).ToArray()
                        : db.Database.SqlQuery<MeetingCacheBusinessInfo>(String.Format(GetMeetingFilteredArchiveIndexProcedureTemplate, (int)MeetingType.Lgs, userId)).ToArray();
                    return meetingCacheBusinessInfos;

                case MeetingType.Webinar:
                    MeetingCacheWebinar[] meetingCacheWebinars = isAdmin
                        ? db.Database.SqlQuery<MeetingCacheWebinar>(String.Format(GetMeetingArchiveIndexProcedureTemplate, (int)MeetingType.Webinar)).ToArray()
                        : db.Database.SqlQuery<MeetingCacheWebinar>(String.Format(GetMeetingFilteredArchiveIndexProcedureTemplate, (int)MeetingType.Webinar, userId)).ToArray();
                    return meetingCacheWebinars;

                case MeetingType.MspEvening:
                    MeetingCacheMspEvening[] meetingCacheMspEvenings = isAdmin
                        ? db.Database.SqlQuery<MeetingCacheMspEvening>(String.Format(GetMeetingArchiveIndexProcedureTemplate, (int)MeetingType.MspEvening)).ToArray()
                        : db.Database.SqlQuery<MeetingCacheMspEvening>(String.Format(GetMeetingFilteredArchiveIndexProcedureTemplate, (int)MeetingType.MspEvening, userId)).ToArray();
                    return meetingCacheMspEvenings;

                case MeetingType.SetkaniTymu:
                    MeetingCacheSetkaniTymu[] meetingCacheSetkaniTymu = isAdmin
                        ? db.Database.SqlQuery<MeetingCacheSetkaniTymu>(String.Format(GetMeetingArchiveIndexProcedureTemplate, (int)MeetingType.SetkaniTymu)).ToArray()
                        : db.Database.SqlQuery<MeetingCacheSetkaniTymu>(String.Format(GetMeetingFilteredArchiveIndexProcedureTemplate, (int)MeetingType.SetkaniTymu, userId)).ToArray();
                    return meetingCacheSetkaniTymu;

                case MeetingType.SkoleniDavidaKotaska:
                    MeetingCacheSkoleniDavidaKotaska[] meetingCacheSkoleniDavidaKotaska = isAdmin
                        ? db.Database.SqlQuery<MeetingCacheSkoleniDavidaKotaska>(String.Format(GetMeetingArchiveIndexProcedureTemplate, (int)MeetingType.SkoleniDavidaKotaska)).ToArray()
                        : db.Database.SqlQuery<MeetingCacheSkoleniDavidaKotaska>(String.Format(GetMeetingFilteredArchiveIndexProcedureTemplate, (int)MeetingType.SkoleniDavidaKotaska, userId)).ToArray();
                    return meetingCacheSkoleniDavidaKotaska;

                case MeetingType.Ostatni:
                    MeetingCacheOstatni[] meetingCacheOstatnis = isAdmin
                        ? db.Database.SqlQuery<MeetingCacheOstatni>(String.Format(GetMeetingArchiveIndexProcedureTemplate, (int)MeetingType.Ostatni)).ToArray()
                        : db.Database.SqlQuery<MeetingCacheOstatni>(String.Format(GetMeetingFilteredArchiveIndexProcedureTemplate, (int)MeetingType.Ostatni, userId)).ToArray();
                    return meetingCacheOstatnis;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }
        }
Exemple #18
0
        public async Task <MeetingTypeEntity> AddMeetingTypeAsync(MeetingTypeEntity meetingTypeEntity)
        {
            var meetingType = new MeetingType
            {
                Name      = meetingTypeEntity.Name,
                IsDeleted = false,
                CreatedAt = DateTimeOffset.Now,
                UpdatedAt = DateTimeOffset.Now
            };

            _meetingTypeRepository.Add(meetingType);
            await _meetingTypeRepository.SaveAsync();

            return(new MeetingTypeEntity
            {
                Id = meetingType.Id,
                Name = meetingType.Name,
                IsDeleted = meetingType.IsDeleted,
                CreatedAt = meetingType.CreatedAt.ToString()
            });
        }
        public int GetAllMeetingHoursByDateTypeState(DateTime? @from, DateTime? to, MeetingType? meetingType, MeetingStateEnum? state, bool withMinuts, bool withAttachment, string userName)
        {
            var q = ctx.Meetings.AsNoTracking().Where(m => m.CreatorUser.UserName == userName);
            if (meetingType.HasValue)
            {
                if (meetingType.Value == MeetingType.Working)
                {
                    q = withMinuts ? q.Cast<WorkingMeeting>().Where(m => m.Decisions != "") : q.Cast<WorkingMeeting>();
                }

                if (meetingType.Value == MeetingType.NonWorking)
                    q = q.Cast<NoneWorkingMeeting>();
            }
            if (state.HasValue)
                q = q.Where(m => m.StateCode == state.Value);
            if (from.HasValue)
                q = q.Where(m => m.StartDate >= from.Value);
            if (to.HasValue)
                q = q.Where(m => m.StartDate <= to.Value);
            if (withAttachment)
                q = q.Where(m => m.Files.Any());
            return q.Sum(m => m.Duration);
        }
Exemple #20
0
        public static string GetMeetingTypeLocalizedText(MeetingType meetingType)
        {
            switch (meetingType)
            {
                case MeetingType.Lgs:
                    return ListItemsResource.MeetingType_Lgs;

                case MeetingType.SetkaniTymu:
                    return ListItemsResource.MeetingType_SetkaniTymu;

                case MeetingType.WorkshopyBi:
                    return ListItemsResource.MeetingType_WorkshopyBi;

                case MeetingType.Leaders:
                    return ListItemsResource.MeetingType_Leaders;

                case MeetingType.SkoleniDavidaKotaska:
                    return ListItemsResource.MeetingType_SkoleniDavidaKotaska;

                case MeetingType.Ostatni:
                    return ListItemsResource.MeetingType_Ostatni;

                case MeetingType.MspEvening:
                    return ListItemsResource.MeetingType_MspEvening;

                case MeetingType.Webinar:
                    return ListItemsResource.MeetingType_Webinar;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }
        }
Exemple #21
0
        private object ProcessUserSignUnsign(MeetingType meetingType, string sortOrder, string currentFilter, string currentFilterAccording, string searchString, string searchStringAccording, int? page,
            string signedSortOrder, int? signedPage,
            int pageSize, int id)
        {
            int pageNumber;
            ProcessSearchFilterAndPaging(currentFilter, currentFilterAccording, ref searchString, ref searchStringAccording, ref page, out pageNumber);

            int signedPageNumber;
            ProcessPaging(signedPage, out signedPageNumber);

            Meeting meeting = MeetingCache.GetDetail(Db, id);
            object meetingUserSignUnsign;
            switch (meetingType)
            {
                case MeetingType.Lgs:
                    var meetingBusinessInfoUserSignUnsign = new MeetingBusinessInfoUserSignUnsign(meeting, Db, id, IsAdmin, UserId, searchString, searchStringAccording, sortOrder, signedSortOrder, pageNumber, pageSize, signedPageNumber);
                    if (!meetingBusinessInfoUserSignUnsign.IsValid || !IsSignUnsignAccess(meetingBusinessInfoUserSignUnsign.MainLeaderId, meetingBusinessInfoUserSignUnsign.SecondaryLeaderId, meetingBusinessInfoUserSignUnsign.Finished))
                    {
                        return null;
                    }

                    meetingUserSignUnsign = meetingBusinessInfoUserSignUnsign;
                    break;

                case MeetingType.SetkaniTymu:
                    var meetingSetkaniTymuSignUnsign = new MeetingSetkaniTymuUserSignUnsign(meeting, Db, id, IsAdmin, UserId, searchString, searchStringAccording, sortOrder, signedSortOrder, pageNumber, pageSize, signedPageNumber);
                    if (!meetingSetkaniTymuSignUnsign.IsValid || !IsSignUnsignAccess(meetingSetkaniTymuSignUnsign.MainLeaderId, meetingSetkaniTymuSignUnsign.SecondaryLeaderId, meetingSetkaniTymuSignUnsign.Finished))
                    {
                        return null;
                    }

                    meetingUserSignUnsign = meetingSetkaniTymuSignUnsign;
                    break;

                case MeetingType.SkoleniDavidaKotaska:
                    var meetingSkoleniDavidaKotaskaUserSignUnsign = new MeetingSkoleniDavidaKotaskaUserSignUnsign(meeting, Db, id, IsAdmin, UserId, searchString, searchStringAccording, sortOrder, signedSortOrder, pageNumber, pageSize, signedPageNumber);
                    if (!meetingSkoleniDavidaKotaskaUserSignUnsign.IsValid || !IsSignUnsignAccess(meetingSkoleniDavidaKotaskaUserSignUnsign.MainLeaderId, meetingSkoleniDavidaKotaskaUserSignUnsign.SecondaryLeaderId, meetingSkoleniDavidaKotaskaUserSignUnsign.Finished))
                    {
                        return null;
                    }

                    meetingUserSignUnsign = meetingSkoleniDavidaKotaskaUserSignUnsign;
                    break;

                case MeetingType.Ostatni:
                    var meetingOstatniUserSignUnsign = new MeetingOstatniUserSignUnsign(meeting, Db, id, IsAdmin, UserId, searchString, searchStringAccording, sortOrder, signedSortOrder, pageNumber, pageSize, signedPageNumber);
                    if (!meetingOstatniUserSignUnsign.IsValid || !IsSignUnsignAccess(meetingOstatniUserSignUnsign.MainLeaderId, meetingOstatniUserSignUnsign.SecondaryLeaderId, meetingOstatniUserSignUnsign.Finished))
                    {
                        return null;
                    }

                    meetingUserSignUnsign = meetingOstatniUserSignUnsign;
                    break;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }

            SetSignUnsignPageAndSortViewBag(sortOrder, signedSortOrder, page, signedPage);

            PopulatePageSize(pageSize);
            PopulateSignUnsignSearchStringAccording(searchString, searchStringAccording);

            return meetingUserSignUnsign;
        }
Exemple #22
0
        private object ProcessDetails(MeetingType meetingType, int id, string sortOrder)
        {
            var sortingNames = new[] { BaseCache.LastNameField, BaseCache.LyonessIdField };
            ProcessSorting(sortOrder, sortingNames);

            Meeting meeting = MeetingCache.GetDetail(Db, id);
            object meetingDetail;
            switch (meetingType)
            {
                case MeetingType.Lgs:
                    meetingDetail = new MeetingBusinessInfoDetail(meeting, Db, UserId, IsAdmin, sortOrder);
                    break;

                case MeetingType.Webinar:
                    meetingDetail = new MeetingWebinarDetail(meeting, Db, UserId, IsAdmin, sortOrder);
                    break;

                case MeetingType.MspEvening:
                    meetingDetail = new MeetingMspEveningDetail(meeting, Db, UserId, IsAdmin, sortOrder);
                    break;

                case MeetingType.SetkaniTymu:
                    meetingDetail = new MeetingSetkaniTymuDetail(meeting, Db, UserId, IsAdmin, sortOrder);
                    break;

                case MeetingType.SkoleniDavidaKotaska:
                    meetingDetail = new MeetingSkoleniDavidaKotaskaDetail(meeting, Db, UserId, IsAdmin, sortOrder);
                    break;

                case MeetingType.Ostatni:
                    meetingDetail = new MeetingOstatniDetail(meeting, Db, UserId, IsAdmin, sortOrder);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }

            return meetingDetail;
        }
 public static Task <List <UserAllowInMeeting> > GetUserAllowByMeetingTypeAsync(this IRepositoryAsync <UserAllowInMeeting> repository, MeetingType type)
 {
     return(repository
            .Table
            .Where(x => x.MeetingTypeId == (int)type).ToListAsync());
 }
Exemple #24
0
 public void UpdateMeetingType(MeetingType meetingType)
 {
     SetAuditFields(meetingType);
     context.SaveChanges();
 }
 public static void UnsignMeetingAttendee(DefaultContext db, int meetingAttendeeId, int userId, MeetingType meetingType, bool isAdmin, ref int meetingId)
 {
     Unsign(db, meetingAttendeeId, 0, 0, userId, meetingType, isAdmin, ref meetingId);
 }
        protected void PopulateMeetingSearchStringAccording(MeetingType meetingType, string searchString, string searchStringAccording)
        {
            if (String.IsNullOrEmpty(searchStringAccording) && meetingType != MeetingType.Webinar)
            {
                searchStringAccording = BaseCache.CityField;
            }
            else if (String.IsNullOrEmpty(searchStringAccording))
            {
                searchStringAccording = BaseCache.OrganizerField;
            }

            IEnumerable<SearchAccording> searchAccordings = meetingType != MeetingType.Webinar
                                                                ? SearchAccording.GetMeetingBusinessInfoMspEveningFilter()
                                                                : SearchAccording.GetMeetingWebinarFilter();
            ViewBag.SearchStringAccording = new SelectList(searchAccordings, BaseCache.SearchStringAccordingField, BaseCache.TitleField, searchStringAccording);
            ViewBag.CurrentFilter = searchString;
            ViewBag.CurrentFilterAccording = searchStringAccording;
        }
Exemple #27
0
 /// <summary>
 /// Initializes a new instance of the TypedMeeting class
 /// </summary>
 /// <param name="begin">Begin of the meeting</param>
 /// <param name="end">End of the meeting</param>
 /// <param name="type">Type of the meeting</param>
 public TypedMeeting(DateTime begin, DateTime end, MeetingType type) : base(begin, end)
 {
     this.Type = type;
 }
Exemple #28
0
        public MeetingType GetType()
        {
            MeetingType ret = VidyoMeetingGetTypeNative(objPtr);

            return(ret);
        }
Exemple #29
0
        public override void Read(Thrift.Protocol.TProtocol proto)
        {
            base.Read(proto);
            if (modified_flag == true)
            {
                output_msg.set_from((ContestsType)this);                 // clones by value with additional sensitivity to delta-state w.r.t. previous 'output_msg' contents

                HashSet <string> rejected_contests;
                var contests = output_msg.get_contest_as_fragile();
                if (contests != null)
                {
                    rejected_contests = new HashSet <string>(contests.Keys);
                }
                else
                {
                    rejected_contests = new HashSet <string>();
                }
                var meetings = output_msg.get_meeting_as_fragile();
                if (meetings != null)
                {
                    foreach (var meeting in meetings.ToList())
                    {
                        MeetingType msg_meeting = null;
                        var         markets     = meeting.Value.get_markets_as_fragile();
                        if (markets != null)
                        {
                            foreach (var market in markets.ToList())
                            {
                                var type = market.Value.get_type();
                                if (type != null && type.Value == BetTypeEnum.BetTypeEnum_WIN)
                                {
                                    var legs = market.Value.get_legs();
                                    if (legs != null)
                                    {
                                        foreach (var leg in legs)
                                        {
                                            rejected_contests.Remove(leg.Value);
                                        }
                                    }
                                }
                                else
                                {
                                    meeting.Value.set_markets_element(market.Key, null);
                                    if (msg_meeting == null)
                                    {
                                        msg_meeting = base.get_meeting_element(meeting.Key);
                                    }
                                    msg_meeting.get_markets_element(market.Key).skip_on_read_flag = true;
                                }
                            }
                        }
                        if (meeting.Value.get_markets() == null)
                        {
                            output_msg.set_meeting_element(meeting.Key, null);
                            if (msg_meeting == null)
                            {
                                msg_meeting = base.get_meeting_element(meeting.Key);
                            }
                            msg_meeting.skip_on_read_flag = true;
                        }
                    }
                }
                foreach (var rc in rejected_contests)
                {
                    output_msg.set_contest_element(rc, null);
                    base.get_contest_element(rc).skip_on_read_flag = true;
                }
                contests = output_msg.get_contest_as_fragile();
                if (contests != null)
                {
                    foreach (var contest in contests.ToList())
                    {
                        ContestType msg_contest = null;
                        var         markets     = contest.Value.get_markets_as_fragile();
                        if (markets != null)
                        {
                            foreach (var market in markets.ToList())
                            {
                                var type = market.Value.get_type();
                                if (type == null || type.Value != BetTypeEnum.BetTypeEnum_WIN)
                                {
                                    contest.Value.set_markets_element(market.Key, null);
                                    if (msg_contest == null)
                                    {
                                        msg_contest = base.get_contest_element(contest.Key);
                                    }
                                    msg_contest.get_markets_element(market.Key).skip_on_read_flag = true;
                                }
                            }
                        }
                        if (contest.Value.get_markets() == null)
                        {
                            output_msg.set_contest_element(contest.Key, null);
                            if (msg_contest == null)
                            {
                                msg_contest = base.get_contest_element(contest.Key);
                            }
                            msg_contest.skip_on_read_flag = true;
                        }
                    }
                }
            }
        }
Exemple #30
0
        public static IEnumerable<IMeetingCache> GetIndexForUser(DefaultContext db, MeetingType meetingType, int userId, bool showAll)
        {
            string procedureTemplate = showAll ? GetMeetingIndexForUserProcedureTemplate : GetMeetingFilteredIndexProcedureTemplate;
            switch (meetingType)
            {
                case MeetingType.Lgs:
                    MeetingCacheBusinessInfo[] meetingCacheBusinessInfos = db.Database.SqlQuery<MeetingCacheBusinessInfo>(String.Format(procedureTemplate, (int)MeetingType.Lgs, userId)).ToArray();
                    return meetingCacheBusinessInfos;

                case MeetingType.Webinar:
                    MeetingCacheWebinar[] meetingCacheWebinars = db.Database.SqlQuery<MeetingCacheWebinar>(String.Format(procedureTemplate, (int)MeetingType.Webinar, userId)).ToArray();
                    return meetingCacheWebinars;

                case MeetingType.MspEvening:
                    MeetingCacheMspEvening[] meetingCacheMspEvenings = db.Database.SqlQuery<MeetingCacheMspEvening>(String.Format(procedureTemplate, (int)MeetingType.MspEvening, userId)).ToArray();
                    return meetingCacheMspEvenings;

                case MeetingType.SetkaniTymu:
                    MeetingCacheSetkaniTymu[] meetingCacheSetkaniTymu = db.Database.SqlQuery<MeetingCacheSetkaniTymu>(String.Format(procedureTemplate, (int)MeetingType.SetkaniTymu, userId)).ToArray();
                    return meetingCacheSetkaniTymu;

                case MeetingType.SkoleniDavidaKotaska:
                    MeetingCacheSkoleniDavidaKotaska[] meetingCacheSkoleniDavidaKotaska = db.Database.SqlQuery<MeetingCacheSkoleniDavidaKotaska>(String.Format(procedureTemplate, (int)MeetingType.SkoleniDavidaKotaska, userId)).ToArray();
                    return meetingCacheSkoleniDavidaKotaska;

                case MeetingType.Ostatni:
                    MeetingCacheOstatni[] meetingCacheOstatnis = db.Database.SqlQuery<MeetingCacheOstatni>(String.Format(procedureTemplate, (int)MeetingType.Ostatni, userId)).ToArray();
                    return meetingCacheOstatnis;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }
        }
Exemple #31
0
        public static void Insert(DefaultContext db, MeetingType meetingType, int userId, IMeetingEdit iMeetingEdit)
        {
            Meeting meeting;
            switch (meetingType)
            {
                case MeetingType.Lgs:
                    meeting = ((MeetingBusinessInfoEdit)iMeetingEdit).GetModel(userId);
                    break;

                case MeetingType.Webinar:
                    meeting = ((MeetingWebinarEdit)iMeetingEdit).GetModel(userId);
                    break;

                case MeetingType.MspEvening:
                    meeting = ((MeetingMspEveningEdit)iMeetingEdit).GetModel(userId);
                    break;

                case MeetingType.SetkaniTymu:
                    meeting = ((MeetingSetkaniTymuEdit)iMeetingEdit).GetModel(userId);
                    break;

                case MeetingType.SkoleniDavidaKotaska:
                    meeting = ((MeetingSkoleniDavidaKotaskaEdit)iMeetingEdit).GetModel(userId);
                    break;

                case MeetingType.Ostatni:
                    meeting = ((MeetingOstatniEdit)iMeetingEdit).GetModel(db, userId);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }

            db.Meetings.Add(meeting);
            TrySaveChanges(db);
        }
 public Task <List <UserAllowInMeeting> > GetByMeetingType(MeetingType type)
 {
     return(_userAllowRepositoryAsync.GetUserAllowByMeetingTypeAsync(type));
 }
 public async Task <List <User> > GetUserInMeetingType(MeetingType type)
 {
     return(await _userAllowRepositoryAsync.Table.Where(u => u.MeetingTypeId == (int)type).Select(u => u.User).ToListAsync());
 }
        public Task DeleteAllOfType(MeetingType type)
        {
            var allRecords = _userAllowRepositoryAsync.Table.Where(p => p.MeetingTypeId == (int)type);

            return(_userAllowRepositoryAsync.DeleteAsync(allRecords));
        }
Exemple #35
0
        private object ProcessIndex(bool showAll, MeetingType meetingType, bool getArchive, string sortOrder, string currentFilter, string currentFilterAccording, string searchString, string searchStringAccording, int? page, int pageSize)
        {
            int pageNumber;
            ProcessSearchFilterAndPaging(currentFilter, currentFilterAccording, ref searchString, ref searchStringAccording, ref page, out pageNumber);

            string[] sortingNames;
            switch (meetingType)
            {
                case MeetingType.Lgs:
                case MeetingType.SkoleniDavidaKotaska:
                case MeetingType.MspEvening:
                    sortingNames = new[] { BaseCache.DateField, BaseCache.CityField, BaseCache.AddressLine1Field, BaseCache.OrganizerField };
                    ProcessSorting(sortOrder, sortingNames);
                    break;

                case MeetingType.Webinar:
                    sortingNames = new[] { BaseCache.DateField, BaseCache.OrganizerField };
                    ProcessSorting(sortOrder, sortingNames);
                    break;

                case MeetingType.SetkaniTymu:
                case MeetingType.Ostatni:
                    sortingNames = new[] { BaseCache.DateField, BaseCache.MeetingTitleTypeField, BaseCache.CityField, BaseCache.AddressLine1Field, BaseCache.OrganizerField };
                    ProcessSorting(sortOrder, sortingNames);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }

            PopulateMeetingSearchStringAccording(meetingType, searchString, searchStringAccording);
            PopulatePageSize(pageSize);

            ViewBag.ShowShowAll = !IsAdmin && !showAll;
            ViewBag.ShowAvailable = !IsAdmin && showAll;
            ViewBag.IsShowAll = showAll;

            object pagedRows;
            switch (meetingType)
            {
                case MeetingType.Lgs:
                    IEnumerable<MeetingBusinessInfoIndex> meetingBusinessInfoIndices = MeetingBusinessInfoIndex.GetIndexRows(Db, UserId, IsAdmin, showAll, getArchive, searchString, searchStringAccording, sortOrder);
                    pagedRows = meetingBusinessInfoIndices.ToPagedList(pageNumber, pageSize);
                    break;

                case MeetingType.Webinar:
                    IEnumerable<MeetingWebinarIndex> meetingWebinarIndices = MeetingWebinarIndex.GetIndexRows(Db, UserId, IsAdmin, showAll, getArchive, searchString, searchStringAccording, sortOrder);
                    pagedRows = meetingWebinarIndices.ToPagedList(pageNumber, pageSize);
                    break;

                case MeetingType.SetkaniTymu:
                    IEnumerable<MeetingSetkaniTymuIndex> meetingSetkaniTymuIndices = MeetingSetkaniTymuIndex.GetIndexRows(Db, UserId, IsAdmin, showAll, getArchive, searchString, searchStringAccording, sortOrder);
                    pagedRows = meetingSetkaniTymuIndices.ToPagedList(pageNumber, pageSize);
                    break;

                case MeetingType.SkoleniDavidaKotaska:
                    IEnumerable<MeetingSkoleniDavidaKotaskaIndex> meetingSkoleniDavidaKotaskaIndex = MeetingSkoleniDavidaKotaskaIndex.GetIndexRows(Db, UserId, IsAdmin, showAll, getArchive, searchString, searchStringAccording, sortOrder);
                    pagedRows = meetingSkoleniDavidaKotaskaIndex.ToPagedList(pageNumber, pageSize);
                    break;

                case MeetingType.Ostatni:
                    IEnumerable<MeetingOstatniIndex> meetingOstatniIndex = MeetingOstatniIndex.GetIndexRows(Db, UserId, IsAdmin, showAll, getArchive, searchString, searchStringAccording, sortOrder);
                    pagedRows = meetingOstatniIndex.ToPagedList(pageNumber, pageSize);
                    break;

                case MeetingType.MspEvening:
                    IEnumerable<MeetingMspEveningIndex> meetingMspEveningIndices = MeetingMspEveningIndex.GetIndexRows(Db, UserId, IsAdmin, showAll, getArchive, searchString, searchStringAccording, sortOrder);
                    pagedRows = meetingMspEveningIndices.ToPagedList(pageNumber, pageSize);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("meetingType");
            }

            return pagedRows;
        }
 protected void PopulateMeetingTitleTypeId(MeetingType meetingType, object selectedMeetingTitleTypeId = null)
 {
     IOrderedQueryable<MeetingTitleType> meetingTitleTypesQuery = Db.MeetingTitleTypes.Where(mtt => mtt.MeetingType == meetingType).OrderBy(mtt => mtt.Title);
     ViewBag.MeetingTitleTypeId = new SelectList(meetingTitleTypesQuery, "MeetingTitleTypeId", "Title", selectedMeetingTitleTypeId);
 }
 /// <summary>
 /// Tests whether or not a meeting is a one time event or not.
 /// </summary>
 /// <param name="type">The meeting type of the meeting to check.</param>
 /// <returns>True if meeting is a one time event, false otherwise.</returns>
 public static bool IsOneTimeEvent(MeetingType type)
 {
     return(type == MeetingType.Final || type == MeetingType.Review || type == MeetingType.Midterm);
 }
Exemple #38
0
        public override async Task Execute()
        {
            var regionKey = "GLA";
            var tenant    = new Tenant()
            {
                Name       = Input.TenantName, TenantName = Input.TenantName, EntryKey = StringHelper.GenerateCode(16),
                AuthorName = Input.Name, RegionKey = regionKey
            };
            var isNew = true;

            if (string.IsNullOrEmpty(Input.TenantId))
            {
                var persistClient = new Persist <Tenant>()
                {
                    Model = tenant
                };
                await DataHandler.Execute(persistClient);

                tenant = persistClient.Model;
            }
            else
            {
                var loaderClient = new Loader <Tenant>()
                {
                    Id = Input.TenantId
                };
                await DataHandler.Execute(loaderClient);

                tenant = loaderClient.Result;
                isNew  = false;
            }

            if (tenant != null && !string.IsNullOrEmpty(tenant.Id))
            {
                var user = new User()
                {
                    TenantId     = tenant.Id, TenantName = Input.TenantName, Name = Input.Name, Email = Input.Email,
                    EncryptedPwd = EncryptHelper.Encrypt(Input.Pwd), AuthorName = Input.Name,
                    Right        = new UserRight()
                    {
                        CanAuth = isNew, CanAdmin = isNew, CanSuperuser = false
                    },
                    RegionKey = regionKey
                };

                var persistUser = new UserSave {
                    Model = user
                };
                await DataHandler.Execute(persistUser);

                if (persistUser.Confirm.Success)
                {
                    if (isNew)
                    {
                        tenant.AuthorId = persistUser.Model.Id;
                        tenant.TenantId = tenant.Id;

                        var persistClient = new Persist <Tenant>()
                        {
                            Model = tenant
                        };
                        await DataHandler.Execute(persistClient);

                        tenant = persistClient.Model;

                        var meetingType = new MeetingType()
                        {
                            TenantId = tenant.Id, TenantName = tenant.Name, Name = "Standard", IsRecur = false,
                            Pretext  = "Standard Meeting Type", RegionKey = regionKey, Prename = "Meeting",
                            AuthorId = persistUser.Model.Id, AuthorName = persistUser.Model.Name
                        };
                        var persistType = new Persist <MeetingType>()
                        {
                            Model = meetingType
                        };
                        await DataHandler.Execute(persistType);
                    }

                    persistUser.Model.AuthorId = persistUser.Model.Id;
                    await DataHandler.Execute(persistUser);

                    await DataHandler.Commit();

                    var signin = new SigninAuth()
                    {
                        Tenant      = tenant, Login = persistUser.Model, LogicHandler = LogicHandler,
                        DataHandler = DataHandler, Config = persistUser.ResultConfig, Settings = CloudHandler.Settings
                    };
                    await LogicHandler.Execute(signin);

                    ResultAuth = signin.Result;

                    Result = ActionConfirm.CreateSuccess(persistUser.Model);

                    var notify = new SimpleNotify
                    {
                        CloudHandler = CloudHandler, DataHandler = DataHandler, CurrentUser = persistUser.Model,
                        LogicHandler = LogicHandler, Model = persistUser.Model,
                        TemplateName = isNew ? "welcomeclient" : "welcomeuser"
                    };
                    await LogicHandler.Execute(notify);
                }
                else
                {
                    Result = ActionConfirm.CreateFailure(persistUser.Confirm.Message);
                }
            }
            else
            {
                Result = ActionConfirm.CreateFailure("Error connecting organisation");
            }
        }
        private static void Unsign(DefaultContext db, int meetingAttendeeId, int attendeeId, int userAttendeeId, int userId, MeetingType meetingType, bool isAdmin, ref int meetingId)
        {
            MeetingAttendee[] meetingAttendees;
            if (meetingAttendeeId != 0)
            {
                meetingAttendees = new[] { db.MeetingAttendees.Find(meetingAttendeeId) };
            }
            else if (attendeeId != 0)
            {
                int dbMeetingId = meetingId;
                meetingAttendees = db.MeetingAttendees.Where(ma => ma.MeetingId == dbMeetingId && ma.AttendeeId == attendeeId).ToArray();
            }
            else
            {
                int dbMeetingId = meetingId;
                meetingAttendees = db.MeetingAttendees.Where(ma => ma.MeetingId == dbMeetingId && ma.UserAttendeeId == userAttendeeId).ToArray();
            }

            if (meetingAttendees.Length == 0)
                return;

            Meeting meeting = meetingAttendees[0].Meeting;
            if (meeting == null)
                throw new Exception(ValidationResource.Meeting_CannotFindMeeting_ErrorMessage);

            meetingId = meeting.MeetingId;

            if (meeting.Finished < DateTime.Now)
                throw new Exception(ValidationResource.Meeting_CannotUnsignAttendeeFromPastMeeting_ErrorMessage);

            string meetingDetail = MeetingCommon.GetMeetingDetail(meeting);
            foreach (MeetingAttendee meetingAttendee in meetingAttendees)
            {
                switch (meetingType)
                {
                    case MeetingType.Lgs:
                    case MeetingType.Webinar:
                    case MeetingType.MspEvening:
                    case MeetingType.Ostatni:
                        break;

                    case MeetingType.SetkaniTymu:
                        if (meetingAttendee.Registered.HasValue && !isAdmin && meetingAttendee.Meeting.OrganizerId != userId && meetingAttendee.Meeting.SecondaryOrganizerId != userId)
                            throw new Exception(ValidationResource.Meeting_CannotRemoveSignedAttendee_ErrorMessage);

                        if (meetingAttendee.Reserved.GetValueOrDefault().Date == DateTime.MaxValue.Date && !isAdmin && meetingAttendee.Meeting.OrganizerId != userId && meetingAttendee.Meeting.SecondaryOrganizerId != userId)
                            throw new Exception(ValidationResource.Meeting_NotAllowedRemoveAttendee_ErrorMessage);

                        break;

                    case MeetingType.SkoleniDavidaKotaska:
                        if (meetingAttendee.Registered.HasValue && !isAdmin && meetingAttendee.Meeting.OrganizerId != userId && meetingAttendee.Meeting.SecondaryOrganizerId != userId)
                            throw new Exception(ValidationResource.Meeting_CannotRemoveSignedAttendee_ErrorMessage);

                        if (meetingAttendee.Reserved.GetValueOrDefault().Date == DateTime.MaxValue.Date && !isAdmin && meetingAttendee.Meeting.OrganizerId != userId && meetingAttendee.Meeting.SecondaryOrganizerId != userId)
                            throw new Exception(ValidationResource.Meeting_NotAllowedRemoveAttendee_ErrorMessage);

                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                }

                string textBody;
                if (meetingAttendee.AttendeeId.HasValue)
                {
                    if (meetingAttendee.PaidAmount == 0)
                    {
                        if (!String.IsNullOrEmpty(meetingAttendee.Attendee.Email1))
                        {
                            textBody = String.Format(MailResource.MeetingController_Unsigned_TextBody, meeting.Title, meetingDetail);
                            Mail.SendEmail(meetingAttendee.Attendee.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);
                        }

                        textBody = String.Format(MailResource.MeetingController_OwnerUnsignedContact_TextBody, meetingAttendee.Attendee.FullName, meeting.Title, meetingDetail);
                        Mail.SendEmail(meetingAttendee.Attendee.Registrar.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);
                    }
                    else
                    {
                        if (!String.IsNullOrEmpty(meetingAttendee.Attendee.Email1))
                        {
                            textBody = String.Format(MailResource.MeetingController_UnsignedWithPaidAmmount_TextBody, meeting.Title, meetingDetail, meetingAttendee.PaidAmount);
                            Mail.SendEmail(meetingAttendee.Attendee.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);
                        }

                        textBody = String.Format(MailResource.MeetingController_OwnerUnsignedContactWithPaidAmmount_TextBody, meetingAttendee.Attendee.FullName, meeting.Title, meetingDetail, meetingAttendee.PaidAmount);
                        Mail.SendEmail(meetingAttendee.Attendee.Registrar.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);

                        textBody = String.Format(MailResource.MeetingController_OrganizerUnsignedContactWithPaidAmmount_TextBody, meetingAttendee.Attendee.FullName, meeting.Title, meetingDetail, meetingAttendee.PaidAmount);
                        Mail.SendEmail(meeting.Organizer.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);

                        if (meeting.SecondaryOrganizerId.HasValue)
                        {
                            Mail.SendEmail(meeting.SecondaryOrganizer.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);
                        }
                    }
                }
                else
                {
                    if (meetingAttendee.PaidAmount == 0)
                    {
                        textBody = String.Format(MailResource.MeetingController_Unsigned_TextBody, meeting.Title, meetingDetail);
                        Mail.SendEmail(meetingAttendee.UserAttendee.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);
                    }
                    else
                    {
                        textBody = String.Format(MailResource.MeetingController_UnsignedWithPaidAmmount_TextBody, meeting.Title, meetingDetail, meetingAttendee.PaidAmount);
                        Mail.SendEmail(meetingAttendee.UserAttendee.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);

                        textBody = String.Format(MailResource.MeetingController_OrganizerUnsignedWithPaidAmmount_TextBody, meetingAttendee.UserAttendee.FullName, meeting.Title, meetingDetail, meetingAttendee.PaidAmount);
                        Mail.SendEmail(meeting.Organizer.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);

                        if (meeting.SecondaryOrganizerId.HasValue)
                        {
                            Mail.SendEmail(meeting.SecondaryOrganizer.Email1, MailResource.MeetingController_Unsigned_Subject, textBody, true, true);
                        }
                    }
                }

                db.MeetingAttendees.Remove(meetingAttendee);
            }

            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Logger.SetLog(e);
                throw new Exception(ValidationResource.Global_DbCommunicationFailed_ErrorMessage);
            }
        }
Exemple #40
0
 public Meeting(Discipline discipline, MeetingType meetingType, MeetingGroup[] groups)
 {
     Discipline  = discipline;
     MeetingType = meetingType;
     Groups      = groups;
 }
 public static void UnsignUserAttendee(DefaultContext db, int meetingId, int userAttendeeId, int userId, MeetingType meetingType, bool isAdmin)
 {
     int dbMeetingId = meetingId;
     Unsign(db, 0, 0, userAttendeeId, userId, meetingType, isAdmin, ref dbMeetingId);
 }
 public void Put([FromBody] MeetingType value)
 {
     _meetingTypeRepository.Create(value);
 }