Esempio n. 1
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {
            dprReminder.RegisterSkipCheckingTrigger(lbtnSave);
            dprReminder.RegisterSkipCheckingTrigger(lbtnCreateRequirement);
            dprReminder.RegisterSkipCheckingTrigger(ucContentComments.TextBoxEditor);
            dprReminder.RegisterSkipCheckingTrigger(ucContentComments.HtmlEditor);

            access = Access.Check();
            if (!access.Write)
            {
                lbtnSave.Visible = false;
            }

            Title = "Запрос - LeadForce";

            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbServiceLevel, dcbServiceLevel, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbServiceLevel, rdpReactionDatePlanned, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbRequestSource, ucLongDescription, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbRequestSource, lrlSourceFiles, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbCompany, dcbServiceLevel, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbCompany, ucAssignToRequiremts, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbCompany, ucRegisterComment, null, UpdatePanelRenderMode.Inline);

            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(rbtnClose, rdpReactionDateActual, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(rbtnDuplicate, rdpReactionDateActual, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(rbtnInWork, rdpReactionDateActual, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(ucAssignToRequiremts, gridRequirements, null, UpdatePanelRenderMode.Inline);

            ucAssignToRequiremts.RequirementsAssigned += ucAssignToRequiremts_RequirementsAssigned;

            if (Page.RouteData.Values["id"] != null)
            {
                _requestId = Guid.Parse(Page.RouteData.Values["id"] as string);
            }

            gridRequirements.SiteID = SiteId;
            gridRequirements.Where.Add(new GridWhere()
            {
                CustomQuery =
                    string.Format(
                        "(tbl_Requirement.RequestID = '{0}' " +
                        "OR tbl_Requirement.ID IN " +
                        "(SELECT RequirementID FROM tbl_RequestToRequirement WHERE RequestID = '{0}'))",
                        _requestId.ToString())
            });

            gridRequirements.Actions.Add(new GridAction {
                Text = "Карточка требования", NavigateUrl = string.Format("~/{0}/Requirements/Edit/{{0}}", CurrentTab), ImageUrl = "~/App_Themes/Default/images/icoView.png"
            });

            gridRequestHistory.Where.Add(new GridWhere()
            {
                Column = "RequestID", Value = _requestId.ToString()
            });

            hlCancel.NavigateUrl = UrlsData.AP_Requests();

            ucContentComments.ContentId = _requestId;

            if (!Page.IsPostBack)
            {
                BindData();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Handles the OnClick event of the lbtnSave control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void lbtnSave_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            if (!access.Write)
            {
                return;
            }

            var request = DataManager.Request.SelectById(SiteId, _requestId) ?? new tbl_Request();

            request.RequestSourceTypeID = dcbRequestSourceType.SelectedIdNullable;
            request.RequestSourceID     = dcbRequestSource.SelectedIdNullable;
            request.CompanyID           = dcbCompany.SelectedIdNullable;
            request.ContactID           = ucContact.SelectedValue;
            request.ProductID           = dcbProducts.SelectedIdNullable;
            request.ProductSeriesNumber = txtProductSeriesNumber.Text;

            request.RequestStatusID  = (int)CurrentStatus;
            request.ResponsibleID    = ucResponsible.SelectedValue;
            request.ServiceLevelID   = dcbServiceLevel.SelectedId;
            request.ShortDescription = txtShortDescription.Text;
            request.LongDescription  = ucLongDescription.Content;

            switch (CurrentStatus)
            {
            case RequestStatus.InWork:
            case RequestStatus.Closed:
                if (!request.ReactionDateActual.HasValue)
                {
                    request.ReactionDateActual = DateTime.Now;
                }
                break;
            }

            var serviceLevel = DataManager.ServiceLevel.SelectById(SiteId, (Guid)request.ServiceLevelID);

            if (request.ID == Guid.Empty)
            {
                request.SiteID              = SiteId;
                request.OwnerID             = CurrentUser.Instance.ContactID;
                request.CreatedAt           = DateTime.Now;
                request.ReactionDatePlanned = request.CreatedAt.AddHours(serviceLevel.ReactionTime);

                var requestSourceType = DataManager.RequestSourceType.SelectById(SiteId, (Guid)request.RequestSourceTypeID);
                if (requestSourceType != null)
                {
                    var documentNumerator = DocumentNumerator.GetNumber((Guid)requestSourceType.NumeratorID, request.CreatedAt, requestSourceType.tbl_Numerator.Mask, "tbl_Request");
                    request.Number       = documentNumerator.Number;
                    request.SerialNumber = documentNumerator.SerialNumber;
                }

                var requirements = DataManager.Requirement.SelectAll(SiteId).Where(o => ucAssignToRequiremts.SelectedRequirments.Contains(o.ID));
                foreach (var requirement in requirements)
                {
                    request.tbl_Requirement.Add(requirement);
                }

                DataManager.Request.Add(request);

                ucRegisterComment.SaveComment(request);
            }
            else
            {
                request.ReactionDatePlanned = request.CreatedAt.AddHours(serviceLevel.ReactionTime);

                DataManager.Request.Update(request);
            }

            if (rauRequestFiles.UploadedFiles.Count > 0)
            {
                var fsp = new FileSystemProvider();
                foreach (UploadedFile file in rauRequestFiles.UploadedFiles)
                {
                    var fileName = fsp.Upload(SiteId, "Requests", file.FileName, file.InputStream, FileType.Attachment);
                    DataManager.RequestFile.Add(new tbl_RequestFile()
                    {
                        RequestID = request.ID, FileName = fileName
                    });
                }
            }

            Response.Redirect(UrlsData.AP_Requests());
        }