protected string dealMeeting(string ID, string type) { bool dealResult = false; string result = string.Empty; SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(ID)); if (entity != null && entity.UserID == UserID) { UsersEntity userInfo = new App.UserApplication().GetUser(UserID); if (type == "agree") { dealResult = new App.SchedulesApplication().AgreeMeeting(entity, DateTime.Now.Date, userInfo); } else { dealResult = new App.SchedulesApplication().VoteMeeting(entity, DateTime.Now.Date, userInfo); } if (dealResult) { result = "1"; // Response.Redirect(string.Format("EditSchedules.aspx?id={0}&target={1}", ID, userInfo.UserID)); } else { result = "Operation failed."; } } else { result = "unauthorized access."; } return(result); }
private void BindDrop() { for (int i = 8; i < 24; i++) { ddlStartHours.Items.Add(new ListItem(i.ToString(), i.ToString())); ddlEndHours.Items.Add(new ListItem(i.ToString(), i.ToString())); ddlStartHours.SelectedValue = "9"; ddlEndHours.SelectedValue = "9"; } List <SchedulesEntity> list = new App.SchedulesApplication().GetSchedules(Date, UserInfo.UserID); ScheduleTimeList = new ScheduleTimeHelpers(list).Times; rptPlan.DataSource = ScheduleTimeList; rptPlan.DataBind(); List <UsersEntity> UsersEntities = new App.UserApplication().GetActiveUserList().FindAll(r => r.RoleID != (int)RolesEnum.CLIENT && r.UserID != UserInfo.UserID); if (UsersEntities.Count > 0) { rtpUser.DataSource = UsersEntities.OrderBy(r => r.FirstName); } else { rtpUser.DataSource = UsersEntities; } rtpUser.DataBind(); }
public string IsValidEditSchedule(SchedulesEntity entity, string startTime, string endTime) { if (string.IsNullOrEmpty(startTime) || string.IsNullOrEmpty(endTime)) { return("params error."); } int start = ScheduleTimeHelpers.TimeHandle(startTime); int end = ScheduleTimeHelpers.TimeHandle(endTime); if (start > end) { return("Please entry again , Starting time should not exceed finishing time."); } if (DateTime.Parse(string.Format("{0} {1}", entity.PlanDate.ToString("MM/dd/yyyy"), startTime)) < DateTime.Now) { return("Plan time not less than the current time."); } if (!(entity.StartTime == startTime && entity.EndTime == endTime)) { List <SchedulesEntity> schedulesList = new App.SchedulesApplication().GetSchedules(entity.PlanDate, UserID); List <ScheduleTimeEntity> scheduleTimeList = new ScheduleTimeHelpers(schedulesList).Times; for (int i = start; i < end; i++) { ScheduleTimeEntity t = scheduleTimeList.Find(r => r.Cell == i && r.IsPlan); if (t != null) { return("-1"); } } } return("1"); }
protected void rtpUser_ItemDataBound(object sender, RepeaterItemEventArgs e) { SchedulesEntity entity = new App.SchedulesApplication().GetInfo(QS("ID", 0)); List <UsersEntity> meetingUsersList = new App.SchedulesApplication().GetMeetingUsers(entity.MeetingID); Literal lit = e.Item.FindControl("ltlid") as Literal; foreach (var tmpentity in meetingUsersList) { if (tmpentity.UserID == int.Parse(lit.Text)) { CheckBox check = (CheckBox)e.Item.FindControl("cbUser"); check.Checked = true; } } }
protected string Delete(string ID) { //当前用户为创建用户且meeting状态没有approve SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(ID)); if (entity.CreateBy == UserID && (entity.MeetingStatus == 1 || string.IsNullOrEmpty(entity.MeetingID)) && entity.PlanDate >= DateTime.Now.Date) { SchedulesApplication schedulesApplication = new SchedulesApplication(); if (string.IsNullOrEmpty(entity.MeetingID)) { if (schedulesApplication.Delete(entity.ID)) { return("1"); } else { return("Operation failed."); } } else { if (schedulesApplication.DeleteMeetingSchedule(entity.MeetingID)) { UsersEntity userInfo = new UserApplication().GetUser(UserID); if (schedulesApplication.VoteMeeting(entity, DateTime.Now.Date, userInfo)) { return("1"); } else { return("Operation failed."); } } else { return("Operation failed."); } } } else { return("unauthorized access."); } //List<SchedulesEntity> list = new App.SchedulesApplication().GetSchedules(entity.PlanDate, targetUserId); //jscheduleResult = SerializeScheduleList(list); }
protected void btnNo_Click(object sender, EventArgs e) { SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(hdID.Value)); if (entity != null && entity.UserID == UserInfo.UserID) { if (new App.SchedulesApplication().VoteMeeting(entity, DateTime.Now.Date, UserInfo)) { Redirect(string.Format("Edit.aspx?id={0}&target={1}", hdID.Value, UserInfo.UserID)); } else { ShowFailMessageToClient(); } } else { ShowFailMessageToClient("unauthorized access."); } }
protected void btnDelete_Click(object sender, EventArgs e) { //当前用户为创建用户且meeting状态没有approve targetUserId = QS("target", 0); SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(hdID.Value)); if (entity.CreateBy == UserInfo.UserID && (entity.MeetingStatus == 1 || string.IsNullOrEmpty(entity.MeetingID)) && entity.PlanDate >= DateTime.Now.Date) { SchedulesApplication schedulesApplication = new SchedulesApplication(); if (string.IsNullOrEmpty(entity.MeetingID)) { if (schedulesApplication.Delete(entity.ID)) { ShowSuccessMessageToClient(true, true); } else { ShowFailMessageToClient(); } } else { if (schedulesApplication.DeleteMeetingSchedule(entity.MeetingID)) { if (schedulesApplication.VoteMeeting(entity, DateTime.Now.Date, UserInfo)) { ShowSuccessMessageToClient(true, true); } else { ShowFailMessageToClient(); } } } } //List<SchedulesEntity> list = new App.SchedulesApplication().GetSchedules(entity.PlanDate, targetUserId); //jscheduleResult = SerializeScheduleList(list); }
protected void btnDelete_Click(object sender, EventArgs e) { //当前用户为创建用户且meeting状态没有approve targetUserId = QS("target", 0); SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(hdID.Value)); if (entity.CreateBy == UserInfo.UserID && (entity.MeetingStatus == 1 || string.IsNullOrEmpty(entity.MeetingID)) && entity.PlanDate >= DateTime.Now.Date) { SchedulesApplication schedulesApplication = new SchedulesApplication(); if (string.IsNullOrEmpty(entity.MeetingID)) { if (schedulesApplication.Delete(entity.ID)) { Redirect(Request.RawUrl, false, true); } else { ShowFailMessageToClient("Delete fail."); } } else { if (schedulesApplication.DeleteMeetingSchedule(entity.MeetingID)) { if (schedulesApplication.VoteMeeting(entity, DateTime.Now.Date, UserInfo)) { Redirect(Request.RawUrl, false, true); } else { ShowFailMessageToClient("Delete fail."); } } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (QS("ID", 0) > 0 && QS("target", 0) > 0) { targetUserId = QS("target", 0); SchedulesEntity entity = new App.SchedulesApplication().GetInfo(QS("ID", 0)); if (entity == null) { ShowFailMessageToClient("unauthorized access."); return; } else if (entity.CreateBy == UserInfo.UserID) //可编辑 是当前用户创建的 { Option = 2; } else if (entity.UserID == UserInfo.UserID) //该计划是当前者相关的,如Meeting { Option = 1; } else { List <UsersEntity> user = new App.SchedulesApplication().GetMeetingUsers(entity.MeetingID); UsersEntity UsersEntity = new App.SchedulesApplication().GetMeetingUsers(entity.MeetingID).Find(r => r.Office == "CN"); bool isMeetingHasCNmemeber = UsersEntity != null; if (UserInfo.Office == "US" || (UserInfo.Office == "CN" && isMeetingHasCNmemeber)) //US的人员可看所有的 { Option = 1; } else //CN 的人员只能看 CN 的 { UsersEntity tmpUsersEntity = new App.UserApplication().GetUser(entity.CreateBy); if (tmpUsersEntity.Office == "CN") //可看 { Option = 1; } else { ShowFailMessageToClient("unauthorized access."); return; } } } BindDrop(entity); BindData(entity); hdID.Value = entity.ID.ToString(); date = entity.PlanDate; } else { ShowFailMessageToClient("unauthorized access."); return; } if (chkMeeting.Checked) { divUser.Visible = true; } else { divUser.Visible = false; } } ((Pop)(this.Master)).Width = 600; }
private void Save(bool isNew) { SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(hdID.Value)); entity.Title = txtTitle.Text; entity.Description = txtDescription.Text; entity.StartTime = string.Format("{0}:{1}", ddlStartHours.SelectedValue, ddlStartMinute.SelectedValue); entity.EndTime = string.Format("{0}:{1}", ddlEndHours.SelectedValue, ddlEndMinute.SelectedValue); entity.UpdateBy = UserInfo.UserID; entity.UpdateOn = DateTime.Now; int start = ScheduleTimeHelpers.TimeHandle(entity.StartTime); int end = ScheduleTimeHelpers.TimeHandle(entity.EndTime); if (string.IsNullOrEmpty(entity.Title)) { ShowFailMessageToClient("Please enter the title."); return; } if (start > end) { ShowFailMessageToClient("Please entry again , Starting time should not exceed finishing time."); return; } if (DateTime.Parse(string.Format("{0} {1}", entity.PlanDate.ToString("MM/dd/yyyy"), entity.StartTime)) < DateTime.Now) { ShowFailMessageToClient("Plan time not less than the current time."); return; } for (int i = start; i < end; i++) { ScheduleTimeEntity t = ScheduleTimeList.Find(r => r.Cell == i && r.IsPlan); if (t != null) { ShowFailMessageToClient("The hours of the two schedules conflict."); return; } } if (chkMeeting.Checked) { List <UsersEntity> usersList = new List <UsersEntity>(); for (int i = 0; i < this.rtpUser.Items.Count; i++) { CheckBox check = (CheckBox)this.rtpUser.Items[i].FindControl("cbUser"); if (check.Checked) { Literal lit = this.rtpUser.Items[i].FindControl("ltlid") as Literal; usersList.Add(new App.UserApplication().GetUser(int.Parse(lit.Text))); } } if (usersList.Find(r => r.UserID == UserInfo.UserID) == null) //如果不包括创建者,就添加他 { usersList.Add(UserInfo); } List <UsersEntity> moveSales = new App.SchedulesApplication().GetMeetingUsers(entity.MeetingID); List <UsersEntity> newList = new List <UsersEntity>(); UsersEntity tmpUser; foreach (UsersEntity tmp in usersList) { tmpUser = moveSales.Find(r => r.UserID == tmp.UserID); if (tmpUser != null) { moveSales.Remove(tmpUser); } else { newList.Add(tmp); } } if (new App.SchedulesApplication().Update(entity, moveSales, newList)) { if (isNew) { Redirect("Add.aspx?Date=" + entity.PlanDate.ToString("MM/dd/yyyy"), true); } else { Redirect(EmptyPopPageUrl, false, true); } } else { ShowFailMessageToClient(); } } else { if (new App.SchedulesApplication().Update(entity)) { if (isNew) { Redirect("Add.aspx?Date=" + entity.PlanDate.ToString("MM/dd/yyyy"), true); } else { Redirect(EmptyPopPageUrl, false, true); } } else { ShowFailMessageToClient(); } } }
private void BindData(SchedulesEntity entity) { txtTitle.Text = entity.Title; txtDescription.Text = entity.Description; ddlStartHours.SelectedValue = entity.StartTime.Split(':')[0]; ddlStartMinute.SelectedValue = entity.StartTime.Split(':')[1]; ddlEndHours.SelectedValue = entity.EndTime.Split(':')[0]; ddlEndMinute.SelectedValue = entity.EndTime.Split(':')[1]; if (entity.MeetingID != "") //meeting { chkMeeting.Enabled = false; if (entity.CreateBy == UserInfo.UserID && targetUserId == UserInfo.UserID) //如果是会议的创建者 { if (entity.MeetingStatus == 1) //等待审核 { btnDelete.Visible = true; } else if (entity.MeetingStatus == 2 || entity.MeetingStatus == 3) //同意了,或者取消了 { Option = 1; litAgree.Visible = true; litAgree.Text = entity.MeetingStatus == 2 ? "agree" : "cancel"; //btnOK.Visible = false; //btnNo.Visible = false; } } else { if (entity.MeetingStatus == 1) //等等审核 { List <UsersEntity> meetingUsers = new App.SchedulesApplication() .GetMeetingUsers(entity.MeetingID); if (meetingUsers.Find(r => r.UserID == UserInfo.UserID) != null && targetUserId == UserInfo.UserID) { btnOK.Visible = true; btnNo.Visible = true; } } else { litAgree.Visible = true; litAgree.Text = entity.MeetingStatus == 2 ? "agree" : "cancel"; } } chkMeeting.Checked = true; } else //不是会议时 { chkMeeting.Enabled = false; if (entity.CreateBy == UserInfo.UserID && targetUserId == UserInfo.UserID && entity.PlanDate >= DateTime.Now.Date) { btnDelete.Visible = true; } } if (Option == 2) //过期的计划,只能读 { if (entity.PlanDate < DateTime.Now.Date) { Option = 1; } } switch (Option) { case 0: //不可访问 case 1: //可读 { btnSave.Visible = false; btnSaveAndNew.Visible = false; break; } case 2: //可编辑的 { btnSave.Visible = true; btnSaveAndNew.Visible = true; break; } } if (entity.PlanDate < DateTime.Now.Date) { btnDelete.Visible = false; } }
private void Save(bool isNew) { SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(hdID.Value)); entity.Title = txtTitle.Text; entity.Description = txtDescription.Text; entity.StartTime = string.Format("{0}:{1}", ddlStartHours.SelectedValue, ddlStartMinute.SelectedValue); entity.EndTime = string.Format("{0}:{1}", ddlEndHours.SelectedValue, ddlEndMinute.SelectedValue); entity.UpdateBy = UserInfo.UserID; entity.UpdateOn = DateTime.Now; int start = ScheduleTimeHelpers.TimeHandle(entity.StartTime); int end = ScheduleTimeHelpers.TimeHandle(entity.EndTime); if (start > end) { ShowMessageToClient("Please entry again , Starting time should not exceed finishing time.", 0, false, false); return; } if (DateTime.Parse(string.Format("{0} {1}", entity.PlanDate.ToString("MM/dd/yyyy"), entity.StartTime)) < DateTime.Now) { ShowMessageToClient("Plan time not less than the current time.", 0, false, false); return; } for (int i = start; i < end; i++) { ScheduleTimeEntity t = ScheduleTimeList.Find(r => r.Cell == i && r.IsPlan && r.ScheduleID != entity.ID); if (t != null) { ShowMessageToClient("The hours of the two schedules conflict.", 0, false, false); return; } } if (chkMeeting.Checked) { List <UsersEntity> usersList = new List <UsersEntity>(); foreach (ListItem li in lstMeetingUsers.Items) { usersList.Add(new App.UserApplication().GetUser(int.Parse(li.Value))); } if (usersList.Find(r => r.UserID == UserInfo.UserID) == null) //如果不包括创建者,就添加他 { usersList.Add(UserInfo); } List <UsersEntity> moveSales = new App.SchedulesApplication().GetMeetingUsers(entity.MeetingID); List <UsersEntity> newList = new List <UsersEntity>(); UsersEntity tmpUser; foreach (UsersEntity tmp in usersList) { tmpUser = moveSales.Find(r => r.UserID == tmp.UserID); if (tmpUser != null) { moveSales.Remove(tmpUser); } else { newList.Add(tmp); } } if (new App.SchedulesApplication().Update(entity, moveSales, newList)) { if (isNew) { Server.Transfer("AddSchedules.aspx?Date=" + entity.PlanDate.ToString("MM/dd/yyyy")); } else { ShowSuccessMessageToClient(true, true); } } else { ShowFailMessageToClient(); } } else { if (new App.SchedulesApplication().Update(entity)) { if (isNew) { Server.Transfer("AddSchedules.aspx?Date=" + entity.PlanDate.ToString("MM/dd/yyyy")); } else { ShowSuccessMessageToClient(true, true); } } else { ShowFailMessageToClient(); } } }
//private void BindGant() //{ // if (QS("ID", 0) > 0 && QS("target", 0) > 0) // { // targetUserId = QS("target", 0); // SchedulesEntity entity = new App.SchedulesApplication().GetInfo(QS("ID", 0)); // List<SchedulesEntity> list = new App.SchedulesApplication().GetSchedules(entity.PlanDate, targetUserId); // jscheduleResult = SerializeScheduleList(list); // } //} private void BindData(SchedulesEntity entity) { txtTitle.Text = entity.Title; txtDescription.Text = entity.Description; ddlStartHours.SelectedValue = entity.StartTime.Split(':')[0]; ddlStartMinute.SelectedValue = entity.StartTime.Split(':')[1]; ddlEndHours.SelectedValue = entity.EndTime.Split(':')[0]; ddlEndMinute.SelectedValue = entity.EndTime.Split(':')[1]; if (entity.MeetingID != "") //meeting { chkMeeting.Enabled = false; if (entity.CreateBy == UserInfo.UserID && targetUserId == UserInfo.UserID) //如果是会议的创建者 { if (entity.MeetingStatus == 1) //等待审核 { lstUsers.Enabled = true; lstMeetingUsers.Enabled = true; btnAddUsers.Visible = true; btnMoveUsers.Visible = true; btnDelete.Visible = true; } else if (entity.MeetingStatus == 2 || entity.MeetingStatus == 3) //同意了,或者取消了 { Option = 1; litAgree.Visible = true; litAgree.Text = entity.MeetingStatus == 2 ? "agree" : "cancel"; //btnOK.Visible = false; //btnNo.Visible = false; } } else { if (entity.MeetingStatus == 1) //等等审核 { List <UsersEntity> meetingUsers = new App.SchedulesApplication() .GetMeetingUsers(entity.MeetingID); if (meetingUsers.Find(r => r.UserID == UserInfo.UserID) != null && targetUserId == UserInfo.UserID) { btnOK.Visible = true; btnNo.Visible = true; } } else { litAgree.Visible = true; litAgree.Text = entity.MeetingStatus == 2 ? "agree" : "cancel"; } } chkMeeting.Checked = true; List <UsersEntity> meetingUsersList = new App.SchedulesApplication().GetMeetingUsers(entity.MeetingID); lstMeetingUsers.DataSource = meetingUsersList.OrderBy(r => r.FirstName); lstMeetingUsers.DataBind(); List <UsersEntity> usersList = new App.UserApplication().ClonedActiveUserList.FindAll(r => r.Role != RolesEnum.CLIENT); foreach (UsersEntity tmpUses in meetingUsersList) { UsersEntity findUser = usersList.Find(r => r.UserID == tmpUses.UserID); if (findUser != null) { usersList.Remove(findUser); } } lstUsers.DataSource = usersList; lstUsers.DataBind(); } else //不是会议时 { chkMeeting.Enabled = false; if (entity.CreateBy == UserInfo.UserID && targetUserId == UserInfo.UserID && entity.PlanDate >= DateTime.Now.Date) { btnDelete.Visible = true; } } if (Option == 2) //过期的计划,只能读 { if (entity.PlanDate < DateTime.Now.Date) { Option = 1; } } switch (Option) { case 0: //不可访问 case 1: //可读 { btnSave.Visible = false; btnSaveAndNew.Visible = false; break; } case 2: //可编辑的 { btnSave.Visible = true; btnSaveAndNew.Visible = true; break; } } if (entity.PlanDate < DateTime.Now.Date) { btnDelete.Visible = false; } }
private string Edit(string title, string description, SchedulesEntity entity, string startTime , string endTime, bool isMeeting, List <string> meetingUserIDs) { entity.Title = title.NoHTML(); entity.Description = description.NoHTML(); entity.StartTime = startTime; entity.EndTime = endTime; entity.UpdateBy = UserID; entity.UpdateOn = DateTime.Now; string result = IsValidEditSchedule(entity, startTime, endTime); if (result != "1" && result != "-1") { return(result); } if (isMeeting) { List <UsersEntity> usersList = new List <UsersEntity>(); foreach (string userID in meetingUserIDs) { usersList.Add(new App.UserApplication().GetUser(int.Parse(userID))); } UsersEntity userInfo = new App.UserApplication().GetUser(UserID); if (usersList.Find(r => r.UserID == UserID) == null) //如果不包括创建者,就添加他 { usersList.Add(userInfo); } List <UsersEntity> moveSales = new App.SchedulesApplication().GetMeetingUsers(entity.MeetingID); List <UsersEntity> newList = new List <UsersEntity>(); UsersEntity tmpUser; foreach (UsersEntity tmp in usersList) { tmpUser = moveSales.Find(r => r.UserID == tmp.UserID); if (tmpUser != null) { moveSales.Remove(tmpUser); } else { newList.Add(tmp); } } if (new App.SchedulesApplication().Update(entity, moveSales, newList)) { return("1"); } else { return("Operation failed."); } } else { if (new App.SchedulesApplication().Update(entity)) { return("1"); } else { return("Operation failed."); } } }
public void ProcessRequest(HttpContext context) { HttpRequest request = context.Request; HttpResponse response = context.Response; string requestType = request.QueryString["type"]; string startTime = request.QueryString["startTime"]; string endTime = request.QueryString["endTime"]; DateTime date; string title = request.Form["title"]; string description = request.Form["description"]; bool isMeeting = request.Form["isMeeting"] == "true" ? true : false; string allUsers = request.Form["meetingUserIds"]; if (requestType == "savevalidate") { if (!DateTime.TryParse(request.QueryString["Date"], out date)) { response.Write("params error."); response.End(); } response.Write(IsValidSchedule(date, startTime, endTime)); response.End(); } else if (requestType == "editvalidate") { string id = request.QueryString["id"]; int idResult; if (!int.TryParse(id, out idResult)) { response.Write("params error."); response.End(); } SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(id)); response.Write(IsValidEditSchedule(entity, startTime, endTime)); response.End(); } else if (requestType == "save") { if (string.IsNullOrEmpty(title.NoHTML())) { response.Write("params error."); response.End(); } if (!DateTime.TryParse(request.QueryString["Date"], out date)) { response.Write("params error."); response.End(); } response.Write(Save(title, description, date, startTime, endTime, isMeeting, allUsers.Split(',').ToList <string>())); } else if (requestType == "edit") { string id = request.QueryString["id"]; SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(id)); if (string.IsNullOrEmpty(id)) { response.Write("params error."); response.End(); } if (string.IsNullOrEmpty(title.NoHTML())) { response.Write("params error."); response.End(); } response.Write(Edit(title, description, entity, startTime, endTime, isMeeting, allUsers.Split(',').ToList <string>())); } else if (requestType == "agree") { string id = request.QueryString["id"]; SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(id)); if (string.IsNullOrEmpty(id)) { response.Write("params error."); response.End(); } response.Write(dealMeeting(id, "agree")); } else if (requestType == "disagree") { string id = request.QueryString["id"]; SchedulesEntity entity = new App.SchedulesApplication().GetInfo(int.Parse(id)); if (null == entity) { response.Write("params error."); response.End(); } response.Write(dealMeeting(id, "disagree")); } else if (requestType == "delete") { string id = request.QueryString["id"]; response.Write(Delete(id)); } response.End(); }