コード例 #1
0
        private EventsView ConstructEventsView()
        {
            EventsView eventsView = new EventsView();

            eventsView.Alert     = (AlertType)int.Parse(ddlAlert.SelectedItem.Value);
            eventsView.AllDay    = chkAllDay.Checked;
            eventsView.CreatedBy = UserInfo.UserID;
            eventsView.CreatedOn = DateTime.Now;
            eventsView.Details   = txtDetails.Text.NoHTML();
            eventsView.End       = (EndType)int.Parse(ddlEnd.SelectedValue);
            eventsView.EndDate   = DateTime.Parse(txtEndDate.Text);
            //model.FamilyID = FamilyID;
            eventsView.FromDay      = DateTime.Parse(txtFrom.Text);
            eventsView.FromTime     = txtFromTime.Text;
            eventsView.FromTimeType = int.Parse(selectFromType.SelectedValue);
            eventsView.Name         = txtName.Text.NoHTML();
            eventsView.ProjectID    = int.Parse(ddlProjects.SelectedValue);
            eventsView.ToDay        = DateTime.Parse(txtTo.Text);
            eventsView.ToTime       = txtToTime.Text;
            eventsView.ToTimeType   = int.Parse(selectToType.SelectedValue);
            eventsView.Repeat       = (RepeatType)int.Parse(selectRepeat.SelectedValue);
            eventsView.RoleIDs      = ((int)Privates.OnlyMe).ToString();
            eventsView.Times        = int.Parse(txtTimes.Text);
            eventsView.UserIds      = "";
            eventsView.Where        = txtWhere.Text.NoHTML();

            eventsView.Icon = string.IsNullOrEmpty(Icon.Value) ? 0 : int.Parse(Icon.Value);
            return(eventsView);
        }
コード例 #2
0
ファイル: FormMain.cs プロジェクト: radtek/POSDeviceManager
 private void tsmiDetails_Click(object sender, EventArgs e)
 {
     if (lvLog.SelectedItems.Count > 0)
     {
         EventsView.Show(_eventsViewLink);
     }
 }
コード例 #3
0
ファイル: Add.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (ddlProjects.SelectedValue == "")
            {
                ShowFailMessageToClient("Please select project.");
                return;
            }
            if (txtName.Text.Trim() == string.Empty)
            {
                ShowFailMessageToClient("Please enter title.");
                return;
            }
            EventsView eventModel = ConstructEventsView();
            List <EventInviteEntity> inviteList = BuilderInvite(eventModel);
            List <EventEntity>       eventList;

            //当开始日期和结束日期不是同一天且Repeat为None时,需要处理成Repeat为Every Day、且End为On date,EndDate为选择的结束日期
            if (eventModel.ToDay.Date > eventModel.FromDay.Date && eventModel.Repeat == RepeatType.None)
            {
                eventModel.Repeat  = RepeatType.Every_Day;
                eventModel.End     = EndType.on_date;
                eventModel.EndDate = eventModel.ToDay;
            }
            if (new EventsApplication().AddEvents(eventModel, inviteList, out eventList))
            {
                SendHandler handler = new SendHandler(SendEamil);
                handler.BeginInvoke(inviteList, eventList, null, null);
                SendEmail();
                Redirect(Request.RawUrl, false, true);
            }
            else
            {
                ShowFailMessageToClient("Add event Fail.");
            }
        }
コード例 #4
0
        private void eventEditButton_Click(object sender, RoutedEventArgs e)
        {
            this.Hide();

            Button     b = (Button)e.Source;
            EventsView p = this._eventsView as EventsView;

            this._eventsView.EditEventByID(Convert.ToInt32(b.Tag));
        }
コード例 #5
0
 public void SaveEvent(EventsView model)
 {
     //string eventIds;
     //if (new EventsApplication().AddEvents(model, out eventIds))
     //{
     //    ShowSuccessMessageToClient("The event has been added.", true, true, "350", "50");
     //}
     //else
     //{
     //    ShowFailMessageToClient("Add event Fail", "350", "50");
     //}
 }
コード例 #6
0
ファイル: Add.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        private EventsView ConstructEventsView()
        {
            EventsView eventsView = new EventsView();

            eventsView.Alert     = (AlertType)int.Parse(ddlAlert.SelectedItem.Value);
            eventsView.AllDay    = chkAllDay.Checked;
            eventsView.CreatedBy = UserInfo.UserID;
            eventsView.CreatedOn = DateTime.Now;
            eventsView.Details   = txtDetails.Text.Trim().NoHTML();
            eventsView.End       = (EndType)int.Parse(ddlEnd.SelectedValue);
            eventsView.EndDate   = DateTime.Parse(txtEndDate.Text);

            eventsView.FromDay = DateTime.Parse(txtFrom.Text);

            string tmpFromTime = txtFromTime.Text.Trim().ToLower();

            if (tmpFromTime.EndsWith("am") || tmpFromTime.EndsWith("pm"))
            {
                eventsView.FromTime     = tmpFromTime.Remove(tmpFromTime.Length - 2).Trim();
                eventsView.FromTimeType = tmpFromTime.Substring(tmpFromTime.Length - 2) == "am" ? 1 : 2;
            }
            else
            {
                eventsView.FromTime     = txtFromTime.Text;
                eventsView.FromTimeType = 1;
            }

            eventsView.Name      = txtName.Text.Trim().NoHTML();
            eventsView.ProjectID = int.Parse(ddlProjects.SelectedValue);
            eventsView.ToDay     = DateTime.Parse(txtTo.Text);

            string tmpToime = txtToTime.Text.Trim().ToLower();

            if (tmpToime.EndsWith("am") || tmpToime.EndsWith("pm"))
            {
                eventsView.ToTime     = tmpToime.Remove(tmpToime.Length - 2).Trim();
                eventsView.ToTimeType = tmpToime.Substring(tmpToime.Length - 2) == "am" ? 1 : 2;
            }
            else
            {
                eventsView.ToTime     = txtFromTime.Text;
                eventsView.ToTimeType = 1;
            }
            eventsView.Repeat  = (RepeatType)int.Parse(selectRepeat.SelectedValue);
            eventsView.RoleIDs = ((int)Privates.OnlyMe).ToString();
            eventsView.Times   = int.Parse(txtTimes.Text);
            eventsView.UserIds = "";
            eventsView.Where   = txtWhere.Text.Trim().NoHTML();
            eventsView.Icon    = string.IsNullOrEmpty(Icon.Value) ? 8 : int.Parse(Icon.Value);
            eventsView.IsOff   = chkOff.Checked;
            return(eventsView);
        }
コード例 #7
0
ファイル: MainView.xaml.cs プロジェクト: masierim/great2
        private void mEventPage_Click(object sender, RoutedEventArgs e)
        {
            EventsViewModel eventVM = SimpleIoc.Default.GetInstance <EventsViewModel>();

            if (eventVM == null)
            {
                return;
            }

            EventsView view = new EventsView();

            view.ShowDialog();
        }
コード例 #8
0
ファイル: WindowManager.cs プロジェクト: CIZSZC/FreeSCADA
        /// <summary>
        /// Create or active existing "Events" view.
        /// </summary>
        public void ShowEvents()
        {
            foreach (DocumentView doc in documentViews)
            {
                if (doc is EventsView)
                {
                    doc.Activate();
                    return;
                }
            }

            var view = new EventsView();

            view.Show(dockPanel, DockState.Document);

            view.FormClosing += new FormClosingEventHandler(OnDocumentWindowClosing);
            documentViews.Add(view);
        }
コード例 #9
0
        private void CreateEventsPage()
        {
            var result = SampleUtilities.CreatePage(new Guid(EventsPageId), "Events");

            if (result)
            {
                SampleUtilities.SetTemplateToPage(new Guid(EventsPageId), new Guid(SamplesTemplateId));

                var templateKey = SampleUtilities.GetControlTemplateKey(typeof(MasterView), "Titles, cities, dates");
                SampleUtilities.RegisterEventsFrontendView("EventsFrontend", templateKey, typeof(MasterView), "EventsFrontendDateList");

                var eventsControl = new EventsView();
                eventsControl.MasterViewName = "EventsFrontendDateList";
                eventsControl.ControlDefinition.GetDefaultDetailView().TemplateKey = SampleUtilities.GetControlTemplateKey(typeof(Telerik.Sitefinity.Modules.Events.Web.UI.Public.DetailsView), "Full event item");

                SampleUtilities.AddControlToPage(new Guid(EventsPageId), eventsControl, "Content", "Events View");
            }
        }
コード例 #10
0
ファイル: MainViewModel.cs プロジェクト: 453483289/ALPCLogger
        private void SaveInternal(string filename, bool all)
        {
            _messagesTimer.Stop();

            try {
                var config = new CsvConfiguration {
                    IgnorePrivateAccessor = true,
                };

                using (var writer = new StreamWriter(filename)) {
                    var csvWriter = new CsvWriter(writer, config);
                    if (SelectedTab == 1)
                    {
                        csvWriter.WriteHeader <AlpcMessageViewModel>();
                        foreach (var msg in _messages)
                        {
                            if (all || MessagesView.Contains(msg))
                            {
                                csvWriter.WriteRecord(msg);
                            }
                        }
                    }
                    else
                    {
                        csvWriter.WriteHeader <AlpcEventViewModel>();
                        foreach (var evt in _events)
                        {
                            if (all || EventsView.Contains(evt))
                            {
                                csvWriter.WriteRecord(evt);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) {
                UI.MessageBoxService.ShowMessage(ex.Message, App.Name);
            }
            finally {
                _messagesTimer.Start();
            }
        }
コード例 #11
0
ファイル: EditEvent.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        private EventsView ConstructEventsView(EventEntity eventEntity)
        {
            EventsView eventsView = new EventsView();

            eventsView.Alert     = (AlertType)int.Parse(ddlAlert.SelectedItem.Value);
            eventsView.AllDay    = chkAllDay.Checked;
            eventsView.CreatedBy = UserInfo.UserID;
            eventsView.CreatedOn = DateTime.Now;
            eventsView.Details   = txtDetails.Text.NoHTML();
            //model.FamilyID = FamilyID;
            eventsView.FromDay      = DateTime.Parse(txtFrom.Text);
            eventsView.FromTime     = txtFromTime.Text;
            eventsView.FromTimeType = int.Parse(selectFromType.SelectedValue);
            if (!string.IsNullOrEmpty(Icon.Value))
            {
                eventsView.Icon = int.Parse(Icon.Value);
            }
            else
            {
                eventsView.Icon = eventEntity.Icon;
            }

            eventsView.Name       = txtName.Text.NoHTML();
            eventsView.ToDay      = DateTime.Parse(txtTo.Text);
            eventsView.ToTime     = txtToTime.Text;
            eventsView.ToTimeType = int.Parse(selectToType.SelectedValue);
            eventsView.RoleIDs    = ((int)Privates.OnlyMe).ToString();
            eventsView.Where      = txtWhere.Text.NoHTML();
            eventsView.ID         = eventEntity.ID;

            eventsView.CreatedOn = eventEntity.CreatedOn;
            eventsView.CreatedBy = eventEntity.CreatedBy;
            eventsView.UpdatedOn = eventEntity.UpdatedOn;
            eventsView.GroupID   = eventEntity.GroupID;
            eventsView.HasAlert  = eventEntity.HasAlert;
            eventsView.HasInvite = eventEntity.HasInvite;
            eventsView.Highlight = eventEntity.Highlight;
            eventsView.Privacy   = eventEntity.Privacy;
            eventsView.ProjectID = int.Parse(ddlProjects.SelectedValue);
            return(eventsView);
        }
コード例 #12
0
ファイル: EditEvent.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        public void btnSave_Click(object sender, EventArgs e)
        {
            int         id          = QS("ID", 0);
            EventEntity eventEntity = new EventsApplication().GetEventInfo(id);
            EventsView  model       = ConstructEventsView(eventEntity);

            if (eventEntity.CreatedBy != UserInfo.UserID)
            {
                return;
            }
            model.CreatedBy = UserInfo.UserID;
            //model.FamilyID = familyID;
            //if (new EventsApplication().UpdateEvent(model, eventEntity))
            //{
            //    imgIcon.ImageUrl = model.IconPath;
            //    ShowSuccessMessageToClient("The change has been saved.", true, true, "350", "50");
            //}
            //else
            //{
            //    ShowFailMessageToClient("Edit event fail.", "350", "50");
            //}
        }
コード例 #13
0
ファイル: Edit.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        public void btnDelete_Click(object sender, EventArgs e)
        {
            int         id     = QS("ID", 0);
            EventEntity entity = new EventsApplication().GetEventInfo(id);

            if (entity == null || entity.CreatedBy != UserInfo.UserID)
            {
                return;
            }

            List <EventInviteEntity> list = GetInviteData(entity, true);

            if (new EventsApplication().Delete(id, entity.FromDay.Date))
            {
                EventsView eventView = new EventsView();
                eventView.Name         = entity.Name;
                eventView.Where        = entity.Where;
                eventView.Details      = entity.Details;
                eventView.ProjectID    = entity.ProjectID;
                eventView.FromDay      = entity.FromDay;
                eventView.FromTime     = entity.FromTime;
                eventView.FromTimeType = entity.FromTimeType;
                eventView.ToDay        = entity.ToDay;
                eventView.ToTime       = entity.ToTime;
                eventView.ToTimeType   = entity.ToTimeType;
                eventView.AllDay       = entity.AllDay;


                SendEamil(list, eventView, false, true);
                Redirect(Request.RawUrl, false, true);
            }
            else
            {
                ShowFailMessageToClient("Delete fail.");
            }
        }
コード例 #14
0
        /// <summary>
        /// 修改Event时
        /// </summary>
        public bool UpdateEvent(EventsView entity, EventEntity oldEvent, List <EventInviteEntity> inviteUserList)
        {
            bool result = false;

            entity.UpdatedOn = DateTime.Now;

            if (!entity.AllDay)
            {
                entity.FromDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                              , entity.FromDay.Month, entity.FromDay.Day, entity.FromDay.Year, entity.FromTime, entity.FromTimeType == 1 ? "AM" : "PM"));
            }

#if !DEBUG
            using (TransactionScope tran = new TransactionScope())
#endif
            {
                result = mgr.EditEvents(entity);

                if (entity.FromDay >= DateTime.Now.Date)                   //当天之前的TimeSheet不做修改
                {
                    if (entity.ProjectID.ToString() == Config.HRProjectID) //项目为HR时,需要处理TimeSheets
                    {
                        if (!(oldEvent.IsOff) && entity.IsOff)             //如果之前没有选择OFF的ticket,修改后选择了,则添加TimeSheets
                        {
                            result = AddTimeSheetsWithEvent(entity);
                        }
                        if (oldEvent.IsOff && entity.IsOff)//如果两次都选择了OFF的ticket,则修改Timesheet时间
                        {
                            TimeSheetsEntity timeSheetEntity = tsp.GetByEventId(entity.ID, entity.FromDay.Date);
                            if (entity.AllDay)
                            {
                                timeSheetEntity.Hours = 8;
                            }
                            else
                            {
                                DateTime FromDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                                                , entity.FromDay.Month, entity.FromDay.Day, entity.FromDay.Year, entity.FromTime, entity.FromTimeType == 1 ? "AM" : "PM"));
                                DateTime EndDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                                               , entity.ToDay.Month, entity.ToDay.Day, entity.ToDay.Year, entity.ToTime, entity.ToTimeType == 1 ? "AM" : "PM"));
                                string Hours = EndDay.Subtract(FromDay).TotalHours.ToString();
                                timeSheetEntity.Hours = decimal.Parse(Hours);
                            }
                            timeSheetEntity.IsSubmitted = entity.AllDay ? true : false;
                            timeSheetEntity.ModifiedOn  = DateTime.Now;
                            result = tsp.UpdateTimeSheet(timeSheetEntity);
                        }
                        if (oldEvent.IsOff && !(entity.IsOff))//如果之前选择了OFF的ticket,修改后没有选择,则删除TimeSheets
                        {
                            result = tsp.DeleteByEventId(entity.ID, entity.FromDay.Date);
                        }
                    }
                }

                if (result)
                {
                    RemoveInviteUser(inviteUserList);
                    inviteUserList.RemoveAll(r => (r.UserID > 0 && (r.OptionStatus == 1 || r.OptionStatus == 3)) ||
                                             (r.UserID == 0 && r.OptionStatus == 3));
                    mgr.AddEventInvites(entity, inviteUserList);
                }
#if !DEBUG
                if (result)
                {
                    tran.Complete();
                    return(true);
                }
#endif
            }
            return(result);
        }
コード例 #15
0
        public bool AddEvents(EventsView entity, List <EventInviteEntity> inviteList, out List <EventEntity> eventList)
        {
            eventList = new List <EventEntity>();

            if (entity.Icon == 0)
            {
                entity.Icon = 1;
            }

            if (!entity.AllDay)
            {
                entity.FromDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                              , entity.FromDay.Month, entity.FromDay.Day, entity.FromDay.Year, entity.FromTime, entity.FromTimeType == 1 ? "AM" : "PM"));
            }

            if (entity.Repeat == RepeatType.None)
            {
                EventEntity eventEntity = AddEvent(entity, inviteList);

                if (eventEntity != null)
                {
                    eventList.Add(eventEntity);
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                bool result = false;

                if (entity.End == EndType.After_number_of_times) //重复次数
                {
                    #region
                    DateTime tmpFromDay    = entity.FromDay;
                    string   tmpToTime     = entity.ToTime;
                    int      tmpToTimeType = entity.ToTimeType;
                    bool     isSameDay     = entity.FromDay.Date == entity.ToDay.Date;//开始日期和结束日期是否为同一天
#if !DEBUG
                    using (TransactionScope tran = new TransactionScope())
#endif
                    {
                        for (int i = 0; i < entity.Times; i++)
                        {
                            if (entity.Repeat == RepeatType.Every_Month_First_Friday)
                            {
                                entity.FromDay = GetNextDateForRepeat7(tmpFromDay);
                            }
                            else
                            {
                                entity.FromDay = tmpFromDay;
                            }
                            entity.ToDay = tmpFromDay;
                            if (!isSameDay) //如果不是同一天,FromTime和ToTime要做处理
                            {
                                //若选择的日期为04/14/2015 1:00 pm 到 04/15/2015 6:00 am,
                                //则处理成 4.14号为 04/14/2015 1:00 pm 到 04/14/2015 11:59 pm,
                                //         4.15号为 04/15/2015 12:00 am 到 04/15/2015 6:00 am
                                if (i == entity.Times - 1)
                                {
                                    entity.ToTime     = tmpToTime;
                                    entity.ToTimeType = tmpToTimeType;
                                }
                                else
                                {
                                    entity.ToTime     = "11:59";
                                    entity.ToTimeType = 2;
                                }
                                if (i > 0)
                                {
                                    entity.FromTime     = "12:00";
                                    entity.FromTimeType = 1;
                                }
                            }

                            EventEntity eventEntity = AddEvent(entity, inviteList);
                            result = eventEntity != null;

                            eventList.Add(new EventEntity()
                            {
                                Name         = entity.Name,
                                Where        = entity.Where,
                                Details      = entity.Details,
                                ProjectID    = entity.ProjectID,
                                FromDay      = entity.FromDay,
                                FromTime     = entity.FromTime,
                                FromTimeType = entity.FromTimeType,
                                ToDay        = entity.ToDay,
                                ToTime       = entity.ToTime,
                                ToTimeType   = entity.ToTimeType,
                                AllDay       = entity.AllDay
                            });

                            // calc next event date
                            switch (entity.Repeat)
                            {
                            case RepeatType.Every_Day:
                                tmpFromDay = tmpFromDay.AddDays(1);
                                break;

                            case RepeatType.Every_Week:
                                tmpFromDay = tmpFromDay.AddDays(7);
                                break;

                            case RepeatType.Every_two_weeks:
                                tmpFromDay = tmpFromDay.AddDays(2 * 7);
                                break;

                            case RepeatType.Every_Month:
                            case RepeatType.Every_Month_First_Friday:
                                tmpFromDay = tmpFromDay.AddMonths(1);
                                break;

                            case RepeatType.Every_Year:
                                tmpFromDay = tmpFromDay.AddYears(1);
                                break;
                            }
                            if (!result)
                            {
                                return(false);
                            }
                        }
#if !DEBUG
                        if (result)
                        {
                            tran.Complete();
                        }
#endif
                    }
                    #endregion
                }
                else
                {
                    #region
                    DateTime tmpFromDay    = entity.FromDay;
                    string   tmpToTime     = entity.ToTime;
                    int      tmpToTimeType = entity.ToTimeType;
                    bool     isSameDay     = entity.FromDay.Date == entity.ToDay.Date;//开始日期和结束日期是否为同一天

                    int tmpIndex = 0;

                    while (entity.FromDay < entity.EndDate.Date) //截止时间
                    {
#if !DEBUG
                        using (TransactionScope tran = new TransactionScope())
#endif
                        {
                            switch (entity.Repeat)
                            {
                            case RepeatType.Every_Day:
                                entity.FromDay = tmpFromDay.AddDays(tmpIndex);
                                entity.ToDay   = entity.FromDay;
                                break;

                            case RepeatType.Every_Week:
                                entity.FromDay = tmpFromDay.AddDays(tmpIndex * 7);
                                entity.ToDay   = entity.FromDay;
                                break;

                            case RepeatType.Every_two_weeks:
                                entity.FromDay = tmpFromDay.AddDays(2 * 7 * tmpIndex);
                                entity.ToDay   = entity.FromDay;
                                break;

                            case RepeatType.Every_Month:
                                entity.FromDay = tmpFromDay.AddMonths(1 * tmpIndex);
                                entity.ToDay   = entity.FromDay;
                                break;

                            case RepeatType.Every_Month_First_Friday:
                                if (tmpIndex == 0)
                                {
                                    entity.FromDay = GetNextDateForRepeat7(tmpFromDay);
                                }
                                else
                                {
                                    entity.FromDay = GetNextDateForRepeat7(tmpFromDay.AddMonths(1 * tmpIndex));
                                    if (entity.FromDay > entity.EndDate.Date)
                                    {
                                        continue;
                                    }
                                }
                                entity.ToDay = entity.FromDay;
                                break;

                            case RepeatType.Every_Year:
                                entity.FromDay = tmpFromDay.AddYears(1 * tmpIndex);
                                entity.ToDay   = entity.FromDay;
                                break;
                            }
                            if (!isSameDay) //如果不是同一天,FromTime和ToTime要做处理
                            {
                                //若选择的日期为04/14/2015 1:00 pm 到 04/15/2015 6:00 am,
                                //则处理成 4.14号为 04/14/2015 1:00 pm 到 04/14/2015 11:59 pm,
                                //         4.15号为 04/15/2015 12:00 am 到 04/15/2015 6:00 am
                                if (entity.FromDay.Date >= entity.EndDate.Date)
                                {
                                    entity.ToTime     = tmpToTime;
                                    entity.ToTimeType = tmpToTimeType;
                                }
                                else
                                {
                                    entity.ToTime     = "11:59";
                                    entity.ToTimeType = 2;
                                }

                                if (tmpIndex > 0)
                                {
                                    entity.FromTime     = "12:00";
                                    entity.FromTimeType = 1;
                                }
                            }
                            EventEntity eventEntity = AddEvent(entity, inviteList);
                            result = eventEntity != null;
                            eventList.Add(eventEntity);
                            if (result == false)
                            {
                                return(false);
                            }
                            tmpIndex++;
#if !DEBUG
                            if (result)
                            {
                                tran.Complete();
                            }
#endif
                        }
                    }

                    #endregion
                }
                return(result);
            }
        }
コード例 #16
0
        EventEntity AddEvent(EventsView entity, List <EventInviteEntity> inviteList)
        {
#if !DEBUG
            using (TransactionScope tran = new TransactionScope())
#endif
            {
                if (entity.Repeat != RepeatType.None && entity.End == EndType.on_date && entity.Times <= 1)
                {
                    var      times = entity.Times > -1 ? entity.Times : 0;
                    DateTime start = entity.FromDay;
                    while (start < entity.EndDate)
                    {
                        times++;
                        // calc next event date
                        switch (entity.Repeat)
                        {
                        case RepeatType.Every_Day:
                            start = start.AddDays(1);
                            break;

                        case RepeatType.Every_Week:
                            start = start.AddDays(7);
                            break;

                        case RepeatType.Every_two_weeks:
                            start = start.AddDays(2 * 7);
                            break;

                        case RepeatType.Every_Month:
                        case RepeatType.Every_Month_First_Friday:
                            start = start.AddMonths(1);
                            break;

                        case RepeatType.Every_Year:
                            start = start.AddYears(1);
                            break;
                        }
                    }
                    entity.Times = times;
                }
                //entity.CreatedOn = DateTime.Now;
                entity.UpdatedOn = DateTime.Now;
                entity.Highlight = false;

                bool result = false;
                entity.ID = mgr.AddEvents(entity, entity.Times, entity.IsOff);
                if (entity.ID > 0)
                {
                    result = mgr.AddEventInvites(entity, inviteList);
                }
                if (entity.IsOff)//如果选择了OFF的ticket,则添加TimeSheets
                {
                    result = AddTimeSheetsWithEvent(entity);
                }
#if !DEBUG
                if (result)
                {
                    tran.Complete();
                }
#endif
                if (result)
                {
                    return(entity);
                }
                else
                {
                    return(null);
                }
            }
        }
コード例 #17
0
 private void ViewTimersExecute()
 {
     EventsView e = new EventsView();
     e.Show();
 }
コード例 #18
0
 public UpcomingEventsPage()
     : base()
 {
     Content = new EventsView();
 }
コード例 #19
0
ファイル: Add.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        private List <EventInviteEntity> BuilderInvite(EventsView model)
        {
            List <EventInviteEntity> inviteList = new List <EventInviteEntity>();
            string projectIds = QF("chkProjectUser");

            if (projectIds.Trim() != string.Empty)
            {
                List <int> listUserId = new App.ProjectApplication().GetActiveUserIdByProjectId(model.ProjectID);
                projectIds = projectIds.Trim();
                if (projectIds.EndsWith(","))
                {
                    projectIds = projectIds.Remove(projectIds.Length - 1);
                }
                int tmpId;
                foreach (string s in projectIds.Split(','))
                {
                    if (int.TryParse(s, out tmpId))
                    {
                        if (listUserId.Contains(tmpId))
                        {
                            inviteList.Add(new EventInviteEntity()
                            {
                                CreatedID = UserInfo.UserID,
                                EventID   = 0,
                                FromDay   = DateTime.Now,
                                UserID    = tmpId,
                                Email     = "",
                                FirstName = "",
                                LastName  = ""
                            });
                        }
                    }
                }
            }
            int otherusers_count = QF("otherusers_count", 0);

            if (otherusers_count > 0)
            {
                string firstName;
                string lastName;
                string email;
                for (int i = 1; i <= otherusers_count; i++)
                {
                    firstName = QF("txtOtherUserFirst" + i).Trim();
                    lastName  = QF("txtOtherUserLast" + i).Trim();
                    email     = QF("txtOtherUserEmail" + i).Trim();
                    if (firstName != string.Empty && lastName != string.Empty)
                    {
                        inviteList.Add(new EventInviteEntity()
                        {
                            CreatedID = UserInfo.UserID,
                            LastName  = lastName,
                            FirstName = firstName,
                            Email     = email,
                            FromDay   = DateTime.Now,
                            EventID   = 0,
                            UserID    = 0
                        });
                    }
                }
            }
            return(inviteList);
        }
コード例 #20
0
 public MyEventsPage()
     : base()
 {
     Content = new EventsView();
 }
コード例 #21
0
ファイル: Edit.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        /// <summary>
        /// 批量保存时
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSaveAll_Click(object sender, EventArgs e)
        {
            if (txtName.Text.Trim() == string.Empty)
            {
                ShowFailMessageToClient("Please enter title.");
                return;
            }

            int         id          = QS("ID", 0);
            EventEntity eventEntity = new EventsApplication().GetEventInfo(id);
            EventsView  model       = ConstructEventsView(eventEntity);

            if (eventEntity.CreatedBy != UserInfo.UserID)
            {
                return;
            }

            model.CreatedBy = UserInfo.UserID;
            List <EventInviteEntity> inviteList = BuilderInvite(model);

            DataSet updatingEntities = new EventsApplication().GetUpdateAndDeleteEvents(eventEntity.CreatedBy, eventEntity.CreatedOn, eventEntity.FromDay);

            //如果改变了From ToDay
            if (model.ToDay > model.FromDay || model.FromDay != eventEntity.FromDay.Date)
            {
                //删除从选中的日期以后的相关Event
                if (new EventsApplication().DeleteAll(eventEntity.CreatedBy, eventEntity.CreatedOn, eventEntity.FromDay.Date))
                {
                    //删除Event所对应的TimeSheet
                    DeleteTimeSheets(updatingEntities);
                }
                else
                {
                    ShowFailMessageToClient("Edit event fail.");
                }
                List <EventEntity> eventList = new List <EventEntity>();
                model.Repeat  = RepeatType.Every_Day;
                model.End     = EndType.on_date;
                model.EndDate = model.ToDay;
                new EventsApplication().AddEvents(model, inviteList, out eventList);
                Redirect(Request.RawUrl, false, true);
            }

            DataRowCollection dr = null;

            if (updatingEntities != null)
            {
                if (updatingEntities.Tables.Count > 0)
                {
                    if (updatingEntities.Tables[0].Rows.Count > 0)
                    {
                        dr = updatingEntities.Tables[0].Rows;
                    }
                }
            }

            if (dr != null)  //循环更新成相同的Event
            {
                foreach (DataRow item in dr)
                {
                    List <EventInviteEntity> newInvite = inviteList; //每次都传递要修改的EventInvite集合
                    int eventId = int.Parse(item[0].ToString());
                    if (eventId != id)
                    {
                        EventEntity newEventEntity = new EventsApplication().GetEventInfo(eventId);
                        model.ID          = eventId;
                        model.FromDay     = newEventEntity.FromDay; //FromDay和ToDay应保持原来的值
                        model.ToDay       = newEventEntity.ToDay;
                        eventEntity.IsOff = newEventEntity.IsOff;   //保持原来的Event的IsOff选项,用于处理Timesheets
                    }
                    if (new EventsApplication().UpdateEvent(model, eventEntity, newInvite))
                    {
                        if (!model.AllDay)
                        {
                            model.FromDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                                         , model.FromDay.Month, model.FromDay.Day, model.FromDay.Year, model.FromTime, model.FromTimeType == 1 ? "AM" : "PM"));
                        }

                        SendEamil(inviteList, model, false);
                    }
                    else
                    {
                        ShowFailMessageToClient("Edit event fail.");
                    }
                }
                Redirect(Request.RawUrl, false, true);
            }
            else
            {
                ShowFailMessageToClient("Edit event fail.");
            }
        }
コード例 #22
0
ファイル: Edit.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        public void btnSave_Click(object sender, EventArgs e)
        {
            if (txtName.Text.Trim() == string.Empty)
            {
                ShowFailMessageToClient("Please enter title.");
                return;
            }

            int         id          = QS("ID", 0);
            EventEntity eventEntity = new EventsApplication().GetEventInfo(id);
            EventsView  model       = ConstructEventsView(eventEntity);

            if (eventEntity.CreatedBy != UserInfo.UserID)
            {
                return;
            }

            model.CreatedBy = UserInfo.UserID;
            List <EventInviteEntity> inviteList = BuilderInvite(model);

            DateTime fromDay = model.FromDay;
            DateTime toDay   = model.ToDay;

            model.ToDay = model.FromDay;

            if (new EventsApplication().UpdateEvent(model, eventEntity, BuilderInvite(model)))
            {
                if (!model.AllDay)
                {
                    model.FromDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                                 , model.FromDay.Month, model.FromDay.Day, model.FromDay.Year, model.FromTime, model.FromTimeType == 1 ? "AM" : "PM"));
                }

                if (model.FromDay != eventEntity.FromDay) //修改even时,有修改它的fromdate 时,要发邮件通知邀请的人
                {
                    SendEamil(inviteList, model, true);
                }
                else
                {
                    SendEamil(inviteList, model, false);
                }

                //如果改变了ToDay
                if (toDay > fromDay)
                {
                    new EventsApplication().Delete(eventEntity.ID, eventEntity.FromDay);
                    List <EventEntity> eventList = new List <EventEntity>();
                    model.ToDay   = toDay;
                    model.Repeat  = RepeatType.Every_Day;
                    model.End     = EndType.on_date;
                    model.EndDate = model.ToDay;

                    new EventsApplication().AddEvents(model, inviteList, out eventList);
                }
                Redirect(Request.RawUrl, false, true);
            }
            else
            {
                ShowFailMessageToClient("Edit event fail.");
            }
        }
コード例 #23
0
ファイル: Edit.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        private List <EventInviteEntity> BuilderInvite(EventsView model)
        {
            ///获取旧数据
            List <EventInviteEntity> oldlist = new App.EventsApplication().GetEventInvites(model.ID);

            foreach (EventInviteEntity tmpItem in oldlist)
            {
                if (tmpItem.UserID > 0)
                {
                    UsersEntity tmpUser = new App.UserApplication().GetUser(tmpItem.UserID);
                    tmpItem.FirstName = tmpUser.FirstName;
                    tmpItem.LastName  = tmpUser.LastName;
                    tmpItem.Email     = tmpUser.Email;
                }
            }


            ///获取project users 选中的用户,并区分是新加的,还是原本就有的
            List <EventInviteEntity> inviteList = new List <EventInviteEntity>();
            string projectUserIds = QF("chkProjectUser");

            if (projectUserIds.Trim() != string.Empty)
            {
                List <int> listUserId = new App.ProjectApplication().GetActiveUserIdByProjectId(model.ProjectID);
                projectUserIds = projectUserIds.Trim();
                if (projectUserIds.EndsWith(","))
                {
                    projectUserIds = projectUserIds.Remove(projectUserIds.Length - 1);
                }
                int tmpId;
                foreach (string s in projectUserIds.Split(','))
                {
                    if (int.TryParse(s, out tmpId))
                    {
                        if (listUserId.Contains(tmpId))
                        {
                            EventInviteEntity newEntity = new EventInviteEntity()
                            {
                                CreatedID = UserInfo.UserID,
                                EventID   = model.ID,
                                FromDay   = model.FromDay,
                                UserID    = tmpId,
                                Email     = "",
                                FirstName = "",
                                LastName  = ""
                            };
                            if (oldlist.Find(r => r.UserID == tmpId) != null)
                            {
                                newEntity.OptionStatus = 1;
                            }
                            else
                            {
                                newEntity.OptionStatus = 2;
                            }
                            inviteList.Add(newEntity);
                        }
                    }
                }
            }

            ///标记被删除的project users
            foreach (EventInviteEntity item in oldlist.FindAll(r => r.UserID > 0))
            {
                if (inviteList.Find(r => r.UserID == item.UserID) == null)
                {
                    item.OptionStatus = 3;
                    inviteList.Add(item);
                }
            }

            ///获取other user,  如果有填写 Email 则区分是新加的,还是原有的
            int otherusers_count = QF("otherusers_count", 0);

            if (otherusers_count > 0)
            {
                string firstName;
                string lastName;
                string email;
                for (int i = 1; i <= otherusers_count; i++)
                {
                    firstName = QF("txtOtherUserFirst" + i).Trim();
                    lastName  = QF("txtOtherUserLast" + i).Trim();
                    email     = QF("txtOtherUserEmail" + i).Trim().ToLower();
                    if (firstName != string.Empty && lastName != string.Empty)
                    {
                        EventInviteEntity newEntity = new EventInviteEntity()
                        {
                            CreatedID = UserInfo.UserID,
                            LastName  = lastName,
                            FirstName = firstName,
                            Email     = email,
                            FromDay   = model.FromDay,
                            EventID   = model.ID,
                            UserID    = 0
                        };

                        if (email != string.Empty)
                        {
                            if (oldlist.Find(r => r.Email.ToLower() == email) != null)
                            {
                                newEntity.OptionStatus = 1;
                            }
                            else
                            {
                                newEntity.OptionStatus = 2;
                            }
                        }
                        else
                        {
                            newEntity.OptionStatus = 2;
                        }
                        inviteList.Add(newEntity);
                    }
                }

                ///标记被删除的 other  users(只针对有email的)
                foreach (EventInviteEntity item in oldlist.FindAll(r => r.UserID == 0))
                {
                    if (item.Email != string.Empty)
                    {
                        if (inviteList.Find(r => r.Email.ToLower() == item.Email) == null)
                        {
                            item.OptionStatus = 3;
                            inviteList.Add(item);
                        }
                    }
                }
            }
            return(inviteList);
        }
コード例 #24
0
ファイル: Edit.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        private EventsView ConstructEventsView(EventEntity eventEntity)
        {
            EventsView eventsView = new EventsView();

            eventsView.Alert     = (AlertType)int.Parse(ddlAlert.SelectedItem.Value);
            eventsView.AllDay    = chkAllDay.Checked;
            eventsView.CreatedBy = UserInfo.UserID;
            eventsView.CreatedOn = DateTime.Now;
            eventsView.Details   = txtDetails.Text.Trim().NoHTML();
            eventsView.FromDay   = DateTime.Parse(txtFrom.Text);

            string tmpFromTime = txtFromTime.Text.Trim().ToLower();

            if (tmpFromTime.EndsWith("am") || tmpFromTime.EndsWith("pm"))
            {
                eventsView.FromTime     = tmpFromTime.Remove(tmpFromTime.Length - 2).Trim();
                eventsView.FromTimeType = tmpFromTime.Substring(tmpFromTime.Length - 2) == "am" ? 1 : 2;
            }
            else
            {
                eventsView.FromTime     = txtFromTime.Text;
                eventsView.FromTimeType = 1;
            }
            if (!string.IsNullOrEmpty(Icon.Value))
            {
                eventsView.Icon = int.Parse(Icon.Value);
            }
            else
            {
                eventsView.Icon = eventEntity.Icon;
            }

            eventsView.Name  = txtName.Text.Trim().NoHTML();
            eventsView.ToDay = DateTime.Parse(txtTo.Text);
            string tmpToime = txtToTime.Text.Trim().ToLower();

            if (tmpToime.EndsWith("am") || tmpToime.EndsWith("pm"))
            {
                eventsView.ToTime     = tmpToime.Remove(tmpToime.Length - 2).Trim();
                eventsView.ToTimeType = tmpToime.Substring(tmpToime.Length - 2) == "am" ? 1 : 2;
            }
            else
            {
                eventsView.ToTime     = txtFromTime.Text;
                eventsView.ToTimeType = 1;
            }
            eventsView.RoleIDs = ((int)Privates.OnlyMe).ToString();
            eventsView.Where   = txtWhere.Text.Trim().NoHTML();
            eventsView.ID      = eventEntity.ID;

            eventsView.CreatedOn = eventEntity.CreatedOn;
            eventsView.CreatedBy = eventEntity.CreatedBy;
            eventsView.UpdatedOn = eventEntity.UpdatedOn;
            eventsView.GroupID   = eventEntity.GroupID;
            eventsView.HasAlert  = eventEntity.HasAlert;
            eventsView.HasInvite = eventEntity.HasInvite;
            eventsView.Highlight = eventEntity.Highlight;
            eventsView.Privacy   = eventEntity.Privacy;
            eventsView.ProjectID = eventEntity.ProjectID;
            eventsView.IsOff     = chkOff.Checked;
            return(eventsView);
        }
コード例 #25
0
        private void ViewTimersExecute()
        {
            EventsView e = new EventsView();

            e.Show();
        }
        private void CreateEventsPage()
        {
            var result = SampleUtilities.CreateLocalizedPage(new Guid(SampleConstants.EventsPageId), "Events", new Guid(SampleConstants.AboutTheUniversityPageId), "en");

            if (result)
            {
                SampleUtilities.SetTemplateToLocalizedPage(new Guid(SampleConstants.EventsPageId), new Guid(SampleConstants.EducationTemplateId), "en");

                var headerLayoutControl = new LayoutControl();
                List<ColumnDetails> headerLayoutColumns = new List<ColumnDetails>();
                ColumnDetails headerLayoutColumn1 = new ColumnDetails()
                {
                    ColumnSpaces = new ColumnSpaces(0, 0, 0, 0),
                    ColumnWidthPercentage = 100,
                    PlaceholderId = "Center"
                };
                headerLayoutColumns.Add(headerLayoutColumn1);
                headerLayoutControl.Layout = SampleUtilities.GenerateLayoutTemplate(headerLayoutColumns, string.Empty);
                headerLayoutControl.ID = "Header";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), headerLayoutControl, "content", "100%", "en");

                ContentBlockBase eventsBlock = new ContentBlockBase();
                eventsBlock.Html = @"<h2>Events</h2>";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), eventsBlock, "Header_Center", "Content block", "en");

                var mainLayoutControl = new LayoutControl();
                List<ColumnDetails> mainLayoutColumns = new List<ColumnDetails>();
                ColumnDetails mainLayoutColumn1 = new ColumnDetails()
                {
                    ColumnSpaces = new ColumnSpaces(0, 0, 0, 0),
                    ColumnWidthPercentage = 25,
                    PlaceholderId = "Left"
                };
                mainLayoutColumns.Add(mainLayoutColumn1);
                ColumnDetails mainLayoutColumn2 = new ColumnDetails()
                {
                    ColumnSpaces = new ColumnSpaces(0, 0, 0, 12),
                    ColumnWidthPercentage = 75,
                    PlaceholderId = "Right"
                };
                mainLayoutColumns.Add(mainLayoutColumn2);
                mainLayoutControl.Layout = SampleUtilities.GenerateLayoutTemplate(mainLayoutColumns, string.Empty);
                mainLayoutControl.ID = "Main";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), mainLayoutControl, "content", "25% + 75%", "en");

                var navigationControl = new NavigationControl();
                navigationControl.NavigationMode = NavigationModes.VerticalSimple;
                navigationControl.SelectionMode = PageSelectionModes.CurrentPageSiblings;
                navigationControl.Skin = "left";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), navigationControl, "Main_Left", "Navigation", "en");

                EventsView eventsControl = new EventsView();
                eventsControl.DetailViewName = SampleConstants.EducationEventItemDetailView;
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), eventsControl, "Main_Right", "Events", "en");
            }

            result = SampleUtilities.CreateLocalizedPage(new Guid(SampleConstants.EventsPageId), "Veranstaltungen", "de");

            if (result)
            {
                SampleUtilities.SetTemplateToLocalizedPage(new Guid(SampleConstants.EventsPageId), new Guid(SampleConstants.EducationTemplateId), "de");

                var headerLayoutControl = new LayoutControl();
                List<ColumnDetails> headerLayoutColumns = new List<ColumnDetails>();
                ColumnDetails headerLayoutColumn1 = new ColumnDetails()
                {
                    ColumnSpaces = new ColumnSpaces(0, 0, 0, 0),
                    ColumnWidthPercentage = 100,
                    PlaceholderId = "Center"
                };
                headerLayoutColumns.Add(headerLayoutColumn1);
                headerLayoutControl.Layout = SampleUtilities.GenerateLayoutTemplate(headerLayoutColumns, string.Empty);
                headerLayoutControl.ID = "Header";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), headerLayoutControl, "content", "100%", "de");

                ContentBlockBase eventsBlock = new ContentBlockBase();
                eventsBlock.Html = @"<h2>Veranstaltungen</h2>";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), eventsBlock, "Header_Center", "Content block", "de");

                var mainLayoutControl = new LayoutControl();
                List<ColumnDetails> mainLayoutColumns = new List<ColumnDetails>();
                ColumnDetails mainLayoutColumn1 = new ColumnDetails()
                {
                    ColumnSpaces = new ColumnSpaces(0, 0, 0, 0),
                    ColumnWidthPercentage = 25,
                    PlaceholderId = "Left"
                };
                mainLayoutColumns.Add(mainLayoutColumn1);
                ColumnDetails mainLayoutColumn2 = new ColumnDetails()
                {
                    ColumnSpaces = new ColumnSpaces(0, 0, 0, 12),
                    ColumnWidthPercentage = 75,
                    PlaceholderId = "Right"
                };
                mainLayoutColumns.Add(mainLayoutColumn2);
                mainLayoutControl.Layout = SampleUtilities.GenerateLayoutTemplate(mainLayoutColumns, string.Empty);
                mainLayoutControl.ID = "Main";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), mainLayoutControl, "content", "25% + 75%", "de");

                var navigationControl = new NavigationControl();
                navigationControl.NavigationMode = NavigationModes.VerticalSimple;
                navigationControl.SelectionMode = PageSelectionModes.CurrentPageSiblings;
                navigationControl.Skin = "left";
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), navigationControl, "Main_Left", "Navigation", "de");

                EventsView eventsControl = new EventsView();
                eventsControl.DetailViewName = SampleConstants.EducationEventItemDetailView;
                SampleUtilities.AddControlToLocalizedPage(new Guid(SampleConstants.EventsPageId), eventsControl, "Main_Right", "Events", "de");
            }
        }
コード例 #27
0
ファイル: Edit.aspx.cs プロジェクト: KhaledSMQ/SunNet.PM
        protected void SendEamil(List <EventInviteEntity> inviteList, EventsView model, bool isEditDate, bool isDelete = false)
        {
            string AddContent        = GetEmailExecuter("CreateEvent.txt").Replace("[Host]", UserInfo.FirstAndLastName);
            string RemoveUserContent = GetEmailExecuter("RemoveUser.txt").Replace("[Host]", UserInfo.FirstAndLastName);
            string UpdateContent     = GetEmailExecuter("EventUpdateTime.txt").Replace("[Host]", UserInfo.FirstAndLastName);
            string DeleteContent     = GetEmailExecuter("DeletedEvent.txt").Replace("[Host]", UserInfo.FirstAndLastName);

            ProjectsEntity projectEntity = new App.ProjectApplication().Get(model.ProjectID);

            string time = string.Empty;

            if (model.AllDay)
            {
                time = model.FromDay.ToString("MM/dd/yyyy");
            }
            else
            {
                model.FromDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                             , model.FromDay.Month, model.FromDay.Day, model.FromDay.Year, model.FromTime, model.FromTimeType == 1 ? "AM" : "PM"));
                model.ToDay = DateTime.Parse(string.Format("{0}/{1}/{2} {3} {4}"
                                                           , model.ToDay.Month, model.ToDay.Day, model.ToDay.Year, model.ToTime, model.ToTimeType == 1 ? "AM" : "PM"));

                time = string.Format("{0}  ----  {1}", model.FromDay.ToString("MM/dd/yyyy hh:mm tt"), model.ToDay.ToString("MM/dd/yyyy hh:mm tt"));
            }

            string subject = string.Empty;
            string content = string.Empty;

            foreach (EventInviteEntity item in inviteList)
            {
                if (item.UserID == 0)
                {
                    if (string.IsNullOrEmpty(item.Email) || item.Email.Trim() == string.Empty)
                    {
                        continue;
                    }
                }
                else
                {
                    UsersEntity user = new App.UserApplication().GetUser(item.UserID);
                    item.FirstName = user.FirstName;
                    item.LastName  = user.LastName;
                    item.Email     = user.Email;
                }

                string from = Config.DefaultSendEmail;
                if (isDelete)
                {
                    subject = string.Format("[{0}]This event has been canceled. ", model.Name);
                    content = DeleteContent.Replace("[ClientName]", item.FirstName).Replace("[Project]", projectEntity.Title)
                              .Replace("[Title]", model.Name).Replace("[Where]", model.Where)
                              .Replace("[Detail]", model.Details).Replace("[Time]", time);
                }
                else
                {
                    switch (item.OptionStatus)
                    {
                    case 1:     //正常
                        if (isEditDate)
                        {
                            subject = string.Format("[{0}]The time of this event has been changed.", model.Name);
                            content = UpdateContent.Replace("[ClientName]", item.FirstName).Replace("[Project]", projectEntity.Title)
                                      .Replace("[Title]", model.Name).Replace("[Where]", model.Where)
                                      .Replace("[Detail]", model.Details).Replace("[Time]", time);
                        }
                        else
                        {
                            continue;
                        }
                        break;

                    case 2:     //新加的
                        subject = string.Format("[{0}]You are invited to attend this event.", model.Name);
                        content = AddContent.Replace("[ClientName]", item.FirstName).Replace("[Project]", projectEntity.Title)
                                  .Replace("[Title]", model.Name).Replace("[Where]", model.Where)
                                  .Replace("[Detail]", model.Details).Replace("[Time]", time);
                        break;

                    case 3:     //删除的
                        subject = string.Format("[{0}]You are not going to attend this event.", model.Name);
                        content = RemoveUserContent.Replace("[ClientName]", item.FirstName).Replace("[Project]", projectEntity.Title)
                                  .Replace("[Title]", model.Name).Replace("[Where]", model.Where)
                                  .Replace("[Detail]", model.Details).Replace("[Time]", time);
                        break;
                    }
                }
                ObjectFactory.GetInstance <IEmailSender>().SendMail(item.Email, Config.DefaultSendEmail, subject, content);

                SendEmail(isEditDate);
            }
        }
コード例 #28
0
 public void SetEventsScreen(EventsView p)
 {
     this._eventsView = p;
 }
コード例 #29
0
ファイル: MainViewModel.cs プロジェクト: syatin003/Wpf
 private void NavigateToEventsCommandExecuted()
 {
     WindowContent = new EventsView();
 }