Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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");
        }
Exemplo n.º 4
0
        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;
                }
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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.");
            }
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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.");
                        }
                    }
                }
            }
        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
        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();
                }
            }
        }
Exemplo n.º 11
0
        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;
            }
        }
Exemplo n.º 12
0
        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();
                }
            }
        }
Exemplo n.º 13
0
        //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;
            }
        }
Exemplo n.º 14
0
        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.");
                }
            }
        }
Exemplo n.º 15
0
        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();
        }