Esempio n. 1
0
        protected string ShowReply(object feedbackId, object ticketId, object WaitClientFeedback, object WaitPMFeedback)
        {
            FeedBacksEntity entity = fbApp.GetFeedBacksEntity((int)feedbackId);

            if (((entity.CreatedBy == UserInfo.UserID) ||
                 (UserInfo.UserType == "SUNNET" || ticketEntity(ticketId).CompanyID == UserInfo.CompanyID)) &&
                ticketEntity(ticketId).Status != TicketsState.Completed &&
                ticketEntity(ticketId).Status != TicketsState.Cancelled)
            {
                if (UserInfo.Role == RolesEnum.CLIENT && (int)WaitClientFeedback == 1)
                {
                    return(string.Format("<a href=\"###\" onclick=\"OpenReplyFeedBackDialog({0},{1})\" title=\"Need FeedBack\"><img src=\"/icons/needReply.gif\" alt=\"Need FeedBack\" /></a>"
                                         , feedbackId, ticketId));
                }
                else if (UserInfo.Role == RolesEnum.PM && (int)WaitPMFeedback == 1)
                {
                    return(string.Format("<a href=\"###\" onclick=\"OpenReplyFeedBackDialog({0},{1})\" title=\"Need FeedBack\"><img src=\"/icons/needReply.gif\" alt=\"Need FeedBack\" /></a>"
                                         , feedbackId, ticketId));
                }
                else if ((int)WaitClientFeedback != 1 && (int)WaitPMFeedback != 1)
                {
                    return(string.Format("<a href=\"###\" onclick=\"OpenReplyFeedBackDialog({0},{1})\" title=\"Reply FeedBack\"><img src=\"/icons/reply.gif\" alt=\"Reply FeedBack\" /></a>"
                                         , feedbackId, ticketId));
                }
            }
            return("");
        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int tid        = QS("tid", 0);
            int feedbackId = QS("feedbackId", 0);

            if (tid == 0 && feedbackId == 0)
            {
                this.ShowArgumentErrorMessageToClient();
                return;
            }

            #region role

            FeedBacksEntity entity = new FeedBacksEntity();
            if (feedbackId > 0)
            {
                entity = fbAPP.GetFeedBacksEntity(feedbackId);
                if (!CheckSecurity(entity.TicketID))
                {
                    this.ShowArgumentErrorMessageToClient();
                    return;
                }
                entity.Title         = string.Format("<strong>Re:{0}</strong>", entity.Title.Replace("<strong>", "").Replace("</strong>", ""));
                AddFeedBack1.IsReply = true;
                Page.Title           = "Reply Feedback";
            }
            else
            {
                if (!CheckSecurity(tid))
                {
                    this.ShowArgumentErrorMessageToClient();
                    return;
                }
                if (UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.ADMIN || UserInfo.Role == RolesEnum.CLIENT)
                {
                    entity.IsPublic = true;
                }
                else
                {
                    entity.IsPublic = false;
                }
                entity.TicketID = tid;
                Page.Title      = "Add FeedBacks";
            }

            ProjectIDResponse = ticketsApp.GetProjectIdAndUserID(entity.TicketID);
            if (null != ProjectIDResponse)
            {
                this.AddFeedBack1.ProjectID = ProjectIDResponse.ProjectId;
            }
            this.AddFeedBack1.FeedBacksEntityInfo = entity;

            #endregion
        }
Esempio n. 3
0
        public string DeleteFeedback(int userID, int feedbackID, int ticketID)
        {
            if (userID != UserID)
            {
                return(ResponseMessage.GetResponse(false, "Unauthorized operation.", 0));
            }
            if (feedbackID == 0)
            {
                return(ResponseMessage.GetResponse(false, "Arguments error.", 0));
            }
            FeedBackApplication feedBackApplication = new FeedBackApplication();

            //先判定feedback是不是public然后判断是不是wait client==1或waitpm ==1如果是并且ticket状态不为normal则改为normal
            FeedBacksEntity feedBacksEntity = feedBackApplication.GetFeedBacksEntity(feedbackID);

            if (feedBacksEntity.WaitClientFeedback == FeedbackReplyStatus.Requested)
            {
                ticketApp.ClearWaitingByType(ticketID, TicketUsersType.Create, TicketUsersType.Client, TicketUsersType.PM);
                ticketApp.DeleteUserFromTicket(ticketID, TicketUsersType.Client);
            }
            if (feedBacksEntity.WaitPMFeedback == FeedbackReplyStatus.Requested)
            {
                var ticketEntity  = ticketApp.GetTickets(ticketID);
                var projectEntity = projectApp.Get(ticketEntity.ProjectID);
                if (ticketApp.UpdateTicketStatus(ticketID, UserTicketStatus.Normal,
                                                 TicketUsersType.PM, TicketUsersType.Create, TicketUsersType.Client))
                {
                    ticketEntity.ResponsibleUser = PmReplyClient(projectEntity, ticketEntity);
                    ticketApp.UpdateTickets(ticketEntity, false);
                }
            }

            //再删除feedbackmessage,并且feedback状态不为normal则改为normal
            bool result = feedBackApplication.DeleteFeedback(feedbackID);

            if (result)
            {
                return(ResponseMessage.GetResponse(true));
            }
            else
            {
                var tmpMessage = feedBackApplication.BrokenRuleMessages != null &&
                                 feedBackApplication.BrokenRuleMessages.Count > 0
                    ? feedBackApplication.BrokenRuleMessages[0].Message
                    : "";
                return(ResponseMessage.GetResponse(false, tmpMessage));
            }
        }
Esempio n. 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int tid        = QS("tid", 0);
            int feedbackId = QS("feedbackId", 0);

            if (tid == 0 && feedbackId == 0)
            {
                this.ShowArgumentErrorMessageToClient();
                return;
            }

            GetProjectIdAndUserIDResponse projectidanduseridResponse = new GetProjectIdAndUserIDResponse();

            if (!IsPostBack)
            {
                #region role
                if (feedbackId > 0) //回复
                {
                    FeedBacksEntity entity = fbAPP.GetFeedBacksEntity(feedbackId);
                    projectidanduseridResponse = ticketsApp.GetProjectIdAndUserID(entity.TicketID);
                    if (!CheckSecurity(projectidanduseridResponse))
                    {
                        this.ShowArgumentErrorMessageToClient();
                        return;
                    }
                    txtTitle.Value    = string.Format("Re:{0}", entity.Title);
                    Page.Title        = "Reply Note";
                    bannerTitle.Text  = "Reply Note";
                    trOthers.Visible  = false;
                    trOriDesc.Visible = true;
                    trOriFile.Visible = true;
                    trOriDate.Visible = true;
                    lblDate.InnerText = entity.CreatedOn.ToString("MM/dd/yyyy");
                    txtOriginalContent.Attributes["readonly"] = "readonly";
                    this.txtOriginalContent.Value             = entity.Description;
                    this.lblFiles.InnerHtml = ShowImageList(entity.FeedBackID);

                    hdTicketID.Value = entity.TicketID.ToString();
                }
                else //添加
                {
                    hdTicketID.Value = QS("tid");
                    if (UserInfo.Role == RolesEnum.CLIENT)
                    {
                        if (!string.IsNullOrEmpty(QS("deny")))
                        {
                            Page.Title       = "Add Reason";
                            bannerTitle.Text = "Add Reason";
                            txtTitle.Value   = "Deny Reason";
                        }
                        trOthers.Visible = false;
                    }
                    else
                    {
                        trOthers.Visible        = true;
                        this.ckIsPublic.Visible = true;
                        this.ckIsPublic.Checked = true;
                        this.chkIsWaitClientFeedback.Visible = true;
                    }
                    projectidanduseridResponse = ticketsApp.GetProjectIdAndUserID(tid);
                }
                hdProjectID.Value = projectidanduseridResponse.ProjectId.ToString();
            }
            #endregion
        }