/// <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(); } }
/// <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()); }