/// <summary>
        /// 重新启动工作流,是审核过程中保存审核结果的必要流程
        /// </summary>
        /// <param name="meeting">传入一个Meeting对象,主要是取里面的InstanceID和改变Status</param>
        public static void RunInstance(Model.Meeting meeting)
        {
            SqlWorkflowInstanceStore     instanceStore = new SqlWorkflowInstanceStore(connectionString);
            IDictionary <string, object> input         = new Dictionary <string, object>()
            {
                { "Request", meeting }
            };

            WorkflowApplication application1 = new WorkflowApplication(new MeetingApply());

            application1.InstanceStore = instanceStore;

            application1.Completed = (workflowComplete) =>
            {
            };

            application1.Unloaded = (workflowUnloaded) =>
            {
                instanceUnloaded.Set();
            };
            application1.PersistableIdle = (e) =>
            {
                instanceUnloaded.Set();
                return(PersistableIdleAction.Unload);
            };
            application1.Load(meeting.WFID);

            application1.ResumeBookmark("MeetingApply", meeting.MeetingStatus);

            //instanceUnloaded.WaitOne();
        }
예제 #2
0
        public Model.Meeting GetApplyMeetingInfoByMeeingID(int meetingApplyFormID)
        {
            Model.Meeting meeting = null;
            var q = (from m in dc.MeetingApplyForm
                     where m.MeetingApplyFormID == meetingApplyFormID
                     select m).FirstOrDefault();
            if (null != q)
            {
                meeting = new Model.Meeting();
                meeting.ApplyUserName = q.ApplyUserName;
                meeting.BeginTime = q.BeginTime;
                meeting.EndTime = q.EndTime;
                meeting.MeetingTopic = q.MeetingTopic;
                meeting.MeetingIntroduction = q.MeetingIntroduction;
            }

            return meeting;
        }
예제 #3
0
        public Model.Meeting GetApplyMeetingInfoByMeeingID(int meetingApplyFormID)
        {
            Model.Meeting meeting = null;
            var           q       = (from m in dc.MeetingApplyForm
                                     where m.MeetingApplyFormID == meetingApplyFormID
                                     select m).FirstOrDefault();

            if (null != q)
            {
                meeting = new Model.Meeting();
                meeting.ApplyUserName       = q.ApplyUserName;
                meeting.BeginTime           = q.BeginTime;
                meeting.EndTime             = q.EndTime;
                meeting.MeetingTopic        = q.MeetingTopic;
                meeting.MeetingIntroduction = q.MeetingIntroduction;
            }

            return(meeting);
        }
예제 #4
0
 private YunShanOA.Model.Meeting FillRecord(YunShanOA.DataAccess.Mapping.MeetingApplyForm meetingapplyFrom)
 {
     Model.Meeting m = null;
     if (meetingapplyFrom != null)
     {
         m = new Model.Meeting();
         m.ApplyUserName       = meetingapplyFrom.ApplyUserName;
         m.BeginTime           = meetingapplyFrom.BeginTime;
         m.Comments            = meetingapplyFrom.Comments;
         m.EndTime             = meetingapplyFrom.EndTime;
         m.MeetingApplyFormID  = meetingapplyFrom.MeetingApplyFormID;
         m.MeetingIntroduction = meetingapplyFrom.MeetingIntroduction;
         m.MeetingStatus       = meetingapplyFrom.MeetingStatus;
         m.MeetingTopic        = meetingapplyFrom.MeetingTopic;
         m.MeetingTypeID       = meetingapplyFrom.MeetingTypeID;
         m.WFID = meetingapplyFrom.WFID;
     }
     return(m);
 }
        /// <summary>
        /// 创建并启动一个工作流,在申请时候触发
        /// </summary>
        /// <param name="meeting">申请时所填表单的数据</param>
        /// <returns>返回一个Guid</returns>
        public static Guid CreateAndRun(Model.Meeting meeting, Dictionary <int, int> d_EquipmentCount, Dictionary <string, string> MeetingUserNameAndEmail, Model.MeetingRoom MeetingRoomIDAndName)
        {
            SqlWorkflowInstanceStore instanceStore = new SqlWorkflowInstanceStore(connectionString);
            InstanceView             view          = instanceStore.Execute(instanceStore.CreateInstanceHandle(), new CreateWorkflowOwnerCommand(), TimeSpan.FromDays(30));

            instanceStore.DefaultInstanceOwner = view.InstanceOwner;

            IDictionary <string, object> input = new Dictionary <string, object>();

            input.Add("Request", meeting);
            input.Add("EquipmentCount", d_EquipmentCount);
            input.Add("MeetingUserEmailFrom", MeetingUserNameAndEmail);
            input.Add("MeetingRoomIDAndName", MeetingRoomIDAndName);
            WorkflowApplication application = new WorkflowApplication(new MeetingApply(), input);

            application.InstanceStore   = instanceStore;
            application.PersistableIdle = (e) =>
            {
                instanceUnloaded.Set();
                return(PersistableIdleAction.Unload);
            };

            application.Unloaded = (e) =>
            {
                instanceUnloaded.Set();
            };

            application.OnUnhandledException = (ex) =>
            {
                return(UnhandledExceptionAction.Terminate);
            };

            Guid id = application.Id;

            application.Persist();
            application.Run();
            instanceUnloaded.WaitOne();
            return(id);
        }
예제 #6
0
        public void OpenEditor(Model.Meeting appointment, DateTime date)
        {
            editorScrollView.ScrollToAsync(0, 0, false);
            cancelButton.BackgroundColor = Color.FromHex("#E5E5E5");
            saveButton.BackgroundColor   = Color.FromHex("#2196F3");
            eventNameText.Placeholder    = "Task";
            PostCodeText.Placeholder     = "PostCode";
            descriptionText.Placeholder  = "Notes";
            contactText.Placeholder      = "Mobile";

            selectedAppointment = null;
            if (appointment != null)
            {
                selectedAppointment = appointment;
                selectedDate        = date;
            }
            else
            {
                selectedDate = date;
            }
            UpdateEditor();
        }
예제 #7
0
 private void GetApplyFormResutl()
 {
     r_MeetingApplyForm = new Model.Meeting();
     d_EquipmentCount   = new Dictionary <int, int>();
     MeetingUserEmail   = new Dictionary <string, string>();
     mr = new Model.MeetingRoom();
     //MeetingApplyFormInfo
     //r_MeetingApplyForm.ApplyUserName = Membership.GetUser().UserName;
     r_MeetingApplyForm.ApplyUserName       = txtApplyUserName.Text;
     r_MeetingApplyForm.BeginTime           = DateTime.Parse(txtBeginTime.Text);
     r_MeetingApplyForm.Comments            = txtComment.Text;
     r_MeetingApplyForm.EndTime             = DateTime.Parse(txtEndTime.Text);
     r_MeetingApplyForm.MeetingIntroduction = txtMeetingInst.Text;
     r_MeetingApplyForm.MeetingStatus       = 2;
     r_MeetingApplyForm.MeetingTopic        = txtMeetingTopic.Text;
     r_MeetingApplyForm.WFID          = Guid.Empty;
     r_MeetingApplyForm.MeetingTypeID = int.Parse(this.ddlMeetingTypeID.SelectedValue);
     //Get EquipmentName and count
     foreach (GridViewRow item in gvMeetingEquipment.Rows)
     {
         if (item.RowType == DataControlRowType.DataRow)
         {
             int rowDatakey   = int.Parse(gvMeetingEquipment.DataKeys[item.DataItemIndex].Value.ToString());
             int Meetingcount = int.Parse(((DropDownList)item.FindControl("ddlFreeCountList")).SelectedItem.ToString());
             d_EquipmentCount.Add(rowDatakey, Meetingcount);
         }
     }
     //get MeetingUser
     foreach (ListItem item in cblMeetingUser.Items)
     {
         if (item.Selected == true)
         {
             MeetingUserEmail.Add(item.Value, item.Text);
         }
     }
     //Get MeetingRoom
     mr.MeetingRoomID = Convert.ToInt32(Request.Form["radioMeetingRoom"].ToString());
 }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            YunShanOA.Model.Meeting meeting = new Model.Meeting();
            meeting.MeetingTopic = txtMeetingTopic.Text;
            meeting.MeetingIntroduction = txtMeetingInst.Text;
            meeting.MeetingTypeID = int.Parse(txtMeetingTypeID.Text);
            meeting.ApplyUserName = txtApplyUserName.Text;
            meeting.EndTime = DateTime.Parse(txtEndTime.Text);
            meeting.BeginTime = DateTime.Parse(txtBeginTime.Text);
            meeting.Comments = txtComment.Text;
            meeting.WFID = Guid.Parse(lblWfID.Text);
            if (RadioButton1.Checked)
            {
                meeting.MeetingStatus = 1;
            }
            else if (RadioButton2.Checked)
            {
                int meetingApplyFormID = BusinessLogic.Meeting.GetMeetingApplyFormIDByGUID(Guid.Parse(lblWfID.Text));
                meeting.MeetingStatus = 3;
                Dictionary<int, int> meetingIDAndName = BusinessLogic.MeetingEquipment.GetMeetingEquipmentIDAndCount(meetingApplyFormID);
                foreach (var m in meetingIDAndName)
                {
                    BusinessLogic.MeetingEquipment.ReturnEquipmentCount(m.Key, m.Value);
                }
                YunShanOA.Common.MailModel mailModel = new Common.MailModel();
                #region E-Mail Body
                System.Text.StringBuilder sbMailBody = new System.Text.StringBuilder();
                sbMailBody.Append("您好!");
                sbMailBody.Append("");
                sbMailBody.Append("您申请从");
                sbMailBody.Append(meeting.BeginTime);
                sbMailBody.Append("到");
                sbMailBody.Append(meeting.EndTime);
                sbMailBody.Append("召开“");
                sbMailBody.Append(meeting.MeetingTopic);
                sbMailBody.Append("”会议,未能通过审核。请检查您的申请,然后再重新申请。");
                #endregion
                mailModel.MailFrom = ConfigurationManager.AppSettings["commomEmail"].ToString();
                mailModel.Password = ConfigurationManager.AppSettings["emailPassword"].ToString();
                mailModel.SmtpServer = ConfigurationManager.AppSettings["smtpServer"].ToString();
                mailModel.SmtpPort = int.Parse(ConfigurationManager.AppSettings["port"].ToString());
                mailModel.DisplayName = "会议审核未通过";
                mailModel.MailBcc = null;
                mailModel.MailCc = null;
                mailModel.MailSubject = "会议审核未通过";
                mailModel.MailBody = sbMailBody.ToString();
                mailModel.MailTo = null;//此处留空,在SendEmail里才会赋值
                mailModel.SmtpPort = 25;
                mailModel.SmtpSsl = false;
                mailModel.UserName = ConfigurationManager.AppSettings["userName"].ToString();
                string userEmailByUserName = BusinessLogic.MeetingUser.GetUserEmailByUserName(BusinessLogic.Meeting.GetUserNameByApplyFormID(meetingApplyFormID));
                List<Model.UserInfo> listUserEmail = new List<Model.UserInfo>() {new Model.UserInfo(){UserEmail=userEmailByUserName} };
                YunShanOA.Common.SendEmail.SendEmailTo(listUserEmail, mailModel);
            }
            //todo 这里要用到用户名 登陆完成后要用真实的代替

            BusinessLogic.Meeting.UpdateReviewMeetingApplyState(BusinessLogic.Meeting.GetMeetingApplyFormIDByGUID(Guid.Parse(lblWfID.Text)), "", meeting.MeetingStatus);
            Workflow.Meeting.MeetingApplyFlowProcess.RunInstance(meeting);
            //Server.Transfer("~/Director_of_Eduction/MeetingApplyProcess.aspx?postback=y");
            //this.Response.Write("<script  language='javascript'>alert('审核成功!'); window.opener = ''; window.open('', \"_self\");window.close();window.open('MeetingApplyProcess.aspx','ss','width='+(screen.availWidth-15)+',height='+(screen.availHeight-120)+',top=0,left=0,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,, location=yes, status=yes')</script>");
            this.script.Text = "<script  language='javascript'>alert('审核成功!'); </script>";
        }
        protected void btnCommit_Click(object sender, EventArgs e)
        {
            Model.Log log = new Model.Log();

            int meetingApplyFormID = int.Parse(this.hfdMeetingApplyFormID.Value);

            Model.Meeting meeting = BusinessLogic.Meeting.GetApplyMeetingInfoByMeeingID(meetingApplyFormID);
            meeting.MeetingApplyFormID = meetingApplyFormID;
            meeting.WFID = BusinessLogic.Meeting.GetGuidByApplyForm(meetingApplyFormID);
            if (rbtAgree.Checked)
            {
                //同意
                meeting.MeetingStatus = 4;
                //todo  发送邮件给与会者
                MailModel             mailModel        = new MailModel();
                Model.Meeting         me               = BusinessLogic.Meeting.GetApplyMeetingInfoByMeeingID(meetingApplyFormID);
                List <Model.UserInfo> UserEmailAndName = BusinessLogic.MeetingUser.GetUserEmailAndNameByMeetingApplyFormID(meetingApplyFormID);
                #region E-Mail Body
                System.Text.StringBuilder sbMailBody = new System.Text.StringBuilder();
                sbMailBody.Append("您好!");
                sbMailBody.Append("");
                sbMailBody.Append("邀请您参加");
                sbMailBody.Append(meeting.BeginTime);
                sbMailBody.Append("到");
                sbMailBody.Append(meeting.EndTime);
                sbMailBody.Append(",在");
                sbMailBody.Append(BusinessLogic.MeetingRoom.GetMeetingRoomNameByMeetingApplyFormID(meetingApplyFormID));
                sbMailBody.Append("召开的会议。谢谢!如有事情耽搁,请与");
                sbMailBody.Append(BusinessLogic.MeetingUser.GetUserEmailAndNameByMeetingApplyFormID(meetingApplyFormID).ToArray()[0].UserEmail);
                sbMailBody.Append("这个Email联系。");
                #endregion
                mailModel.MailFrom    = ConfigurationManager.AppSettings["commomEmail"].ToString();
                mailModel.Password    = ConfigurationManager.AppSettings["emailPassword"].ToString();
                mailModel.SmtpServer  = ConfigurationManager.AppSettings["smtpServer"].ToString();
                mailModel.SmtpPort    = int.Parse(ConfigurationManager.AppSettings["port"].ToString());
                mailModel.DisplayName = "会议邀请";
                mailModel.MailBcc     = null;
                mailModel.MailCc      = null;
                mailModel.MailSubject = meeting.MeetingTopic;
                mailModel.MailBody    = sbMailBody.ToString();
                mailModel.MailTo      = null;//此处留空,在SendEmail里才会赋值
                mailModel.SmtpPort    = 25;
                mailModel.SmtpSsl     = false;
                mailModel.UserName    = ConfigurationManager.AppSettings["userName"].ToString();
                try
                {
                    SendEmail.SendEmailTo(UserEmailAndName, mailModel);
                    lblMessage.Text = "会议设备安排成功!";
                }
                catch (YunShanOA.Common.SendMailFailExecpion sendMailFail)
                {
                    log            = new Model.Log();
                    log.LogContext = sendMailFail.Message;
                    log.LogTime    = System.DateTime.Now;
                    log.userName   = Page.User.Identity.Name;
                    log.LogTypeID  = "1";
                    BusinessLogic.Log.SaveLog(log);
                    lblMessage.Text = "发送邮件出现异常,请联系申请人重新申请!申请人Email:" + BusinessLogic.MeetingUser.GetUserEmailByUserName(log.userName);
                }
            }
            else
            {
                //不同意
                meeting.MeetingStatus = 3;
                Dictionary <int, int> meetingIDAndName = BusinessLogic.MeetingEquipment.GetMeetingEquipmentIDAndCount(meetingApplyFormID);
                foreach (var m in meetingIDAndName)
                {
                    BusinessLogic.MeetingEquipment.ReturnEquipmentCount(m.Key, m.Value);
                }
            }
            //todo 更新MeetingAndRoom里的状态,有待测试
            lblMessage.Text = "会议设备处理成功";
            //更新MeetingAndRoom表里的状态
            BusinessLogic.MeetingRoom.UpdateMeetingAndRoomStatus(meetingApplyFormID, meeting.MeetingStatus);
            BusinessLogic.Meeting.UpdateMeetingApplyFormStatus(meetingApplyFormID, meeting.MeetingStatus);
            Server.Transfer("~/OfficeAdmin/ProcessMeetingEquipmentArr.aspx");
        }
예제 #10
0
 private void GetApplyFormResutl()
 {
     r_MeetingApplyForm = new Model.Meeting();
     d_EquipmentCount = new Dictionary<int, int>();
     MeetingUserEmail = new Dictionary<string, string>();
     mr = new Model.MeetingRoom();
     //MeetingApplyFormInfo
     //r_MeetingApplyForm.ApplyUserName = Membership.GetUser().UserName;
     r_MeetingApplyForm.ApplyUserName = txtApplyUserName.Text;
     r_MeetingApplyForm.BeginTime = DateTime.Parse(txtBeginTime.Text);
     r_MeetingApplyForm.Comments = txtComment.Text;
     r_MeetingApplyForm.EndTime = DateTime.Parse(txtEndTime.Text);
     r_MeetingApplyForm.MeetingIntroduction = txtMeetingInst.Text;
     r_MeetingApplyForm.MeetingStatus = 2;
     r_MeetingApplyForm.MeetingTopic = txtMeetingTopic.Text;
     r_MeetingApplyForm.WFID = Guid.Empty;
     r_MeetingApplyForm.MeetingTypeID = int.Parse(this.ddlMeetingTypeID.SelectedValue);
     //Get EquipmentName and count
     foreach (GridViewRow item in gvMeetingEquipment.Rows)
     {
         if (item.RowType == DataControlRowType.DataRow)
         {
             int rowDatakey = int.Parse(gvMeetingEquipment.DataKeys[item.DataItemIndex].Value.ToString());
             int Meetingcount = int.Parse(((DropDownList)item.FindControl("ddlFreeCountList")).SelectedItem.ToString());
             d_EquipmentCount.Add(rowDatakey, Meetingcount);
         }
     }
     //get MeetingUser
     foreach (ListItem item in cblMeetingUser.Items)
     {
         if (item.Selected == true)
         {
             MeetingUserEmail.Add(item.Value, item.Text);
         }
     }
     //Get MeetingRoom
     mr.MeetingRoomID = Convert.ToInt32(Request.Form["radioMeetingRoom"].ToString());
 }
예제 #11
0
        private async void AppointmentDetails()
        {
            if (selectedAppointment == null)
            {
                selectedAppointment       = new Model.Meeting();
                selectedAppointment.color = Color.FromHex("#5EDAF2");
                update = false;
            }
            else
            {
                update = true;
            }
            if (eventNameText.Text != null)
            {
                selectedAppointment.EventName = eventNameText.Text.ToString();
                if (string.IsNullOrEmpty(selectedAppointment.EventName))
                {
                    selectedAppointment.EventName = "Untitled";
                }
            }
            if (PostCodeText.Text != null)
            {
                selectedAppointment.PostCode = PostCodeText.Text.ToString();
            }

            if (descriptionText.Text != null)
            {
                selectedAppointment.Description = descriptionText.Text.ToString();
            }
            if (contactText.Text != null)
            {
                selectedAppointment.ContactID = contactText.Text.ToString();
            }

            if (typeDatePicker.SelectedItem != null)
            {
                selectedAppointment.type = typeDatePicker.SelectedItem.ToString();
            }
            else
            {
                selectedAppointment.type = "Job";
            }

            if (responsiblePicker.SelectedItem != null)
            {
                selectedAppointment.responsible = responsiblePicker.SelectedItem.ToString();
                if (responsiblePicker1.SelectedItem != null)
                {
                    if (responsiblePicker1.SelectedItem.ToString() != "NONE")
                    {
                        selectedAppointment.responsible = selectedAppointment.responsible + "/" + responsiblePicker1.SelectedItem.ToString();
                    }
                }
                if (responsiblePicker2.SelectedItem != null)
                {
                    if (responsiblePicker2.SelectedItem.ToString() != "NONE")
                    {
                        selectedAppointment.responsible = selectedAppointment.responsible + "/" + responsiblePicker2.SelectedItem.ToString();
                    }
                }
            }
            else
            {
                selectedAppointment.responsible = "OTH";
                if (responsiblePicker1.SelectedItem != null)
                {
                    if (responsiblePicker1.SelectedItem.ToString() != "NONE")
                    {
                        selectedAppointment.responsible = selectedAppointment.responsible + "/" + responsiblePicker1.SelectedItem.ToString();
                    }
                }
                if (responsiblePicker2.SelectedItem != null)
                {
                    if (responsiblePicker2.SelectedItem.ToString() != "NONE")
                    {
                        selectedAppointment.responsible = selectedAppointment.responsible + "/" + responsiblePicker2.SelectedItem.ToString();
                    }
                }
            }


            selectedAppointment.From          = startDatePicker.Date.Add(startTimePicker.Time);
            selectedAppointment.To            = endDatePicker.Date.Add(endTimePicker.Time);
            selectedAppointment.IsAllDay      = switchAllDay.IsToggled;
            selectedAppointment.Done          = done.IsToggled;
            selectedAppointment.StartTimeZone = startTimeZone;
            selectedAppointment.EndTimeZone   = endTimeZone;
            if (selectedAppointment.type == "Job")
            {
                selectedAppointment.color = Color.Red;
            }
            else if (selectedAppointment.type == "Sales")
            {
                selectedAppointment.color = Color.Blue;
            }
            else if (selectedAppointment.type == "Maintenance")
            {
                selectedAppointment.color = Color.Brown;
            }
            else
            {
                selectedAppointment.color = Color.Orange;
            }

            ViewModels.ScheduleAppointmentModifiedEventArgs args = new ViewModels.ScheduleAppointmentModifiedEventArgs();

            Todo item = new Todo
            {
                id            = selectedAppointment.id,
                ContactID     = selectedAppointment.ContactID,
                Description   = selectedAppointment.Description,
                Done          = selectedAppointment.Done,
                EndTimeZone   = selectedAppointment.EndTimeZone,
                StartTimeZone = selectedAppointment.StartTimeZone,
                EventName     = selectedAppointment.EventName,
                From          = selectedAppointment.From,
                FromDate      = selectedAppointment.FromDate,
                To            = selectedAppointment.To,
                ToDate        = selectedAppointment.ToDate,
                IsAllDay      = selectedAppointment.IsAllDay,
                MinimumHeight = selectedAppointment.MinimumHeight,
                PostCode      = selectedAppointment.PostCode,
                responsible   = selectedAppointment.responsible,
                type          = selectedAppointment.type
            };

            if (update)
            {
                if (CommonVariables.localDatabase)
                {
                    await App.Database.SaveItemAsync(item);
                }
                else
                {
                    await UpdateDatabase(selectedAppointment);
                }
            }
            else
            {
                if (CommonVariables.localDatabase)
                {
                    await App.Database.SaveItemAsync(item);
                }
                else
                {
                    await AddDatabase(selectedAppointment);
                }
                // await App.Database.DeleteItemAsync(item);
                //List<Todo> meeting_list = await App.Database.GetItemsAsync();
            }

            args.Appointment = selectedAppointment;
            args.IsModified  = true;
            (editorLayout.BindingContext as ViewModels.EditorLayoutViewModel).OnAppointmentModified(args);
        }
예제 #12
0
 public bool DeleteMeetingApply(Model.Meeting meetingAndApply)
 {
     throw new NotImplementedException();
 }
예제 #13
0
 public int SaveMeetingApply(Model.Meeting meetingAndApply)
 {
     throw new NotImplementedException();
 }
        private void BookingAppointments()
        {
            //Should get this from apointment database
            Random       randomTime           = new Random();
            List <Point> randomTimeCollection = GettingTimeRanges();

            DateTime date;
            DateTime DateFrom       = DateTime.Now.AddDays(-10);
            DateTime DateTo         = DateTime.Now.AddDays(10);
            DateTime dateRangeStart = DateTime.Now.AddDays(-3);
            DateTime dateRangeEnd   = DateTime.Now.AddDays(3);

            for (date = DateFrom; date < DateTo; date = date.AddDays(1))
            {
                if ((DateTime.Compare(date, dateRangeStart) > 0) && (DateTime.Compare(date, dateRangeEnd) < 0))
                {
                    for (int AdditionalAppointmentIndex = 0; AdditionalAppointmentIndex < 3; AdditionalAppointmentIndex++)
                    {
                        Model.Meeting meeting = new Model.Meeting();
                        int           hour    = (randomTime.Next((int)randomTimeCollection[AdditionalAppointmentIndex].X, (int)randomTimeCollection[AdditionalAppointmentIndex].Y));
                        meeting.From          = new DateTime(date.Year, date.Month, date.Day, hour, 0, 0);
                        meeting.To            = (meeting.From.AddHours(1));
                        meeting.EventName     = currentDayMeetings[randomTime.Next(2)];
                        meeting.color         = EvenColor(meeting.EventName);
                        meeting.IsAllDay      = false;
                        meeting.StartTimeZone = string.Empty;
                        meeting.EndTimeZone   = string.Empty;
                        //ListOfMeeting.Add(meeting);
                    }
                }
                else
                {
                    Model.Meeting meeting = new Model.Meeting();
                    meeting.From          = new DateTime(date.Year, date.Month, date.Day, randomTime.Next(9, 11), 0, 0);
                    meeting.To            = (meeting.From.AddDays(2).AddHours(1));
                    meeting.EventName     = currentDayMeetings[randomTime.Next(2)];
                    meeting.color         = EvenColor(meeting.EventName); //color_collection[randomTime.Next(9)];
                    meeting.IsAllDay      = true;
                    meeting.StartTimeZone = string.Empty;
                    meeting.EndTimeZone   = string.Empty;
                    ListOfMeeting.Add(meeting);
                }
            }

            // Minimum Height Meetings
            DateTime minDate;
            DateTime minDateFrom = DateTime.Now.AddDays(-2);
            DateTime minDateTo   = DateTime.Now.AddDays(2);

            for (minDate = minDateFrom; minDate < minDateTo; minDate = minDate.AddDays(1))
            {
                Model.Meeting meeting = new Model.Meeting();
                meeting.From          = new DateTime(minDate.Year, minDate.Month, minDate.Day, randomTime.Next(9, 18), 30, 0);
                meeting.To            = meeting.From;
                meeting.EventName     = minTimeMeetings[randomTime.Next(0, 4)];
                meeting.color         = color_collection[randomTime.Next(0, 10)];
                meeting.StartTimeZone = string.Empty;
                meeting.EndTimeZone   = string.Empty;
                // Setting Mininmum Appointment Height for Schedule Appointments
                if (Device.RuntimePlatform == "Android")
                {
                    meeting.MinimumHeight = 50;
                }
                else
                {
                    meeting.MinimumHeight = 25;
                }
                ListOfMeeting.Add(meeting);
            }
        }
예제 #15
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            YunShanOA.Model.Meeting meeting = new Model.Meeting();
            meeting.MeetingTopic        = txtMeetingTopic.Text;
            meeting.MeetingIntroduction = txtMeetingInst.Text;
            meeting.MeetingTypeID       = int.Parse(txtMeetingTypeID.Text);
            meeting.ApplyUserName       = txtApplyUserName.Text;
            meeting.EndTime             = DateTime.Parse(txtEndTime.Text);
            meeting.BeginTime           = DateTime.Parse(txtBeginTime.Text);
            meeting.Comments            = txtComment.Text;
            meeting.WFID = Guid.Parse(lblWfID.Text);
            if (RadioButton1.Checked)
            {
                meeting.MeetingStatus = 1;
            }
            else if (RadioButton2.Checked)
            {
                int meetingApplyFormID = BusinessLogic.Meeting.GetMeetingApplyFormIDByGUID(Guid.Parse(lblWfID.Text));
                meeting.MeetingStatus = 3;
                Dictionary <int, int> meetingIDAndName = BusinessLogic.MeetingEquipment.GetMeetingEquipmentIDAndCount(meetingApplyFormID);
                foreach (var m in meetingIDAndName)
                {
                    BusinessLogic.MeetingEquipment.ReturnEquipmentCount(m.Key, m.Value);
                }
                YunShanOA.Common.MailModel mailModel = new Common.MailModel();
                #region E-Mail Body
                System.Text.StringBuilder sbMailBody = new System.Text.StringBuilder();
                sbMailBody.Append("您好!");
                sbMailBody.Append("");
                sbMailBody.Append("您申请从");
                sbMailBody.Append(meeting.BeginTime);
                sbMailBody.Append("到");
                sbMailBody.Append(meeting.EndTime);
                sbMailBody.Append("召开“");
                sbMailBody.Append(meeting.MeetingTopic);
                sbMailBody.Append("”会议,未能通过审核。请检查您的申请,然后再重新申请。");
                #endregion
                mailModel.MailFrom    = ConfigurationManager.AppSettings["commomEmail"].ToString();
                mailModel.Password    = ConfigurationManager.AppSettings["emailPassword"].ToString();
                mailModel.SmtpServer  = ConfigurationManager.AppSettings["smtpServer"].ToString();
                mailModel.SmtpPort    = int.Parse(ConfigurationManager.AppSettings["port"].ToString());
                mailModel.DisplayName = "会议审核未通过";
                mailModel.MailBcc     = null;
                mailModel.MailCc      = null;
                mailModel.MailSubject = "会议审核未通过";
                mailModel.MailBody    = sbMailBody.ToString();
                mailModel.MailTo      = null;//此处留空,在SendEmail里才会赋值
                mailModel.SmtpPort    = 25;
                mailModel.SmtpSsl     = false;
                mailModel.UserName    = ConfigurationManager.AppSettings["userName"].ToString();
                string userEmailByUserName          = BusinessLogic.MeetingUser.GetUserEmailByUserName(BusinessLogic.Meeting.GetUserNameByApplyFormID(meetingApplyFormID));
                List <Model.UserInfo> listUserEmail = new List <Model.UserInfo>()
                {
                    new Model.UserInfo()
                    {
                        UserEmail = userEmailByUserName
                    }
                };
                YunShanOA.Common.SendEmail.SendEmailTo(listUserEmail, mailModel);
            }
            //todo 这里要用到用户名 登陆完成后要用真实的代替

            BusinessLogic.Meeting.UpdateReviewMeetingApplyState(BusinessLogic.Meeting.GetMeetingApplyFormIDByGUID(Guid.Parse(lblWfID.Text)), "", meeting.MeetingStatus);
            Workflow.Meeting.MeetingApplyFlowProcess.RunInstance(meeting);
            //Server.Transfer("~/Director_of_Eduction/MeetingApplyProcess.aspx?postback=y");
            //this.Response.Write("<script  language='javascript'>alert('审核成功!'); window.opener = ''; window.open('', \"_self\");window.close();window.open('MeetingApplyProcess.aspx','ss','width='+(screen.availWidth-15)+',height='+(screen.availHeight-120)+',top=0,left=0,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,, location=yes, status=yes')</script>");
            this.script.Text = "<script  language='javascript'>alert('审核成功!'); </script>";
        }
예제 #16
0
 private YunShanOA.Model.Meeting FillRecord(YunShanOA.DataAccess.Mapping.MeetingApplyForm meetingapplyFrom)
 {
     Model.Meeting m = null;
     if (meetingapplyFrom != null)
     {
         m = new Model.Meeting();
         m.ApplyUserName = meetingapplyFrom.ApplyUserName;
         m.BeginTime = meetingapplyFrom.BeginTime;
         m.Comments = meetingapplyFrom.Comments;
         m.EndTime = meetingapplyFrom.EndTime;
         m.MeetingApplyFormID = meetingapplyFrom.MeetingApplyFormID;
         m.MeetingIntroduction = meetingapplyFrom.MeetingIntroduction;
         m.MeetingStatus = meetingapplyFrom.MeetingStatus;
         m.MeetingTopic = meetingapplyFrom.MeetingTopic;
         m.MeetingTypeID = meetingapplyFrom.MeetingTypeID;
         m.WFID = meetingapplyFrom.WFID;
     }
     return m;
 }