/// <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(); }
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; }
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); }
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); }
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(); }
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"); }
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()); }
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); }
public bool DeleteMeetingApply(Model.Meeting meetingAndApply) { throw new NotImplementedException(); }
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); } }
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>"; }
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; }