/// <summary> /// Saves the site action template. /// </summary> /// <returns></returns> protected Guid SaveSiteActionTemplate() { tbl_SiteActionTemplate siteActionTemplate = null; siteActionTemplate = DataManager.SiteActionTemplate.SelectById(SiteActionTemplateId) ?? new tbl_SiteActionTemplate(); siteActionTemplate.SiteID = SiteId; siteActionTemplate.Title = string.Empty; siteActionTemplate.FromEmail = string.Empty; siteActionTemplate.SiteActionTemplateCategoryID = (int)SiteActionTemplateCategory.MassMail; siteActionTemplate.OwnerID = CurrentUser.Instance.ContactID; siteActionTemplate.ActionTypeID = 1; if (siteActionTemplate.ID == Guid.Empty) { siteActionTemplate = DataManager.SiteActionTemplate.Add(siteActionTemplate); } else { DataManager.SiteActionTemplate.Update(siteActionTemplate); } SiteActionTemplateId = siteActionTemplate.ID; ucEditorSiteActionTemplate.SiteActionTemplateId = SiteActionTemplateId; ucEditorSiteActionTemplate.Save(); // editor is first for save! ucSettingsSiteActionTemplate.SiteActionTemplateId = SiteActionTemplateId; ucSettingsSiteActionTemplate.Save(); return(siteActionTemplate.ID); }
/// <summary> /// Invites the portal user. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="contactId">The contact id.</param> /// <param name="taskId">The task id.</param> /// <param name="siteActionTemplate">The site action template.</param> /// <returns></returns> public tbl_User InvitePortalUser(Guid siteId, Guid contactId, Guid taskId, tbl_SiteActionTemplate siteActionTemplate) { var user = _dataContext.tbl_User.SingleOrDefault(u => u.ContactID == contactId && u.SiteID == siteId) ?? AddPortalUser(siteId, contactId); if (user != null) { var dataManager = new DataManager(); var siteActionTemaplate = dataManager.SiteActionTemplate.SelectBySystemName(siteId, siteActionTemplate.SystemName); if (siteActionTemaplate == null) { siteActionTemaplate = siteActionTemplate; siteActionTemaplate.SiteID = siteId; siteActionTemaplate = dataManager.SiteActionTemplate.Add(siteActionTemaplate); } var siteAction = new tbl_SiteAction { SiteID = siteId, SiteActionTemplateID = siteActionTemaplate.ID, ContactID = contactId, ActionStatusID = (int)ActionStatus.Scheduled, ActionDate = DateTime.Now, ObjectID = taskId, MessageTypeID = (int)MessageType.TaskNotification, DirectionID = (int)Direction.Out, MessageTitle = siteActionTemplate.Title }; dataManager.SiteAction.Add(siteAction); } return(user); }
/// <summary> /// Adds the notification. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="portalSettingsId">The portal settings id.</param> /// <param name="contactId">The contact id.</param> /// <param name="siteActionTemplate">The site action template.</param> /// <param name="messageType">Type of the message.</param> public void AddNotification(Guid siteId, Guid portalSettingsId, Guid contactId, tbl_SiteActionTemplate siteActionTemplate, MessageType messageType) { var dataManager = new DataManager(); var siteActionTemaplate = dataManager.SiteActionTemplate.SelectBySystemName(siteId, siteActionTemplate.SystemName); if (siteActionTemaplate == null) { siteActionTemaplate = siteActionTemplate; siteActionTemaplate.SiteID = siteId; siteActionTemaplate = dataManager.SiteActionTemplate.Add(siteActionTemaplate); } var siteAction = new tbl_SiteAction { SiteID = siteId, SiteActionTemplateID = siteActionTemaplate.ID, ContactID = contactId, ActionStatusID = (int)ActionStatus.Scheduled, ActionDate = DateTime.Now, ObjectID = portalSettingsId, MessageTypeID = (int)messageType, DirectionID = (int)Direction.Out, MessageTitle = siteActionTemplate.Title }; dataManager.SiteAction.Add(siteAction); }
/// <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 (!access.Write) { return; } tbl_SiteActionTemplate siteActionTemplate = null; siteActionTemplate = DataManager.SiteActionTemplate.SelectById(((LeadForceBasePage)Page).SiteId, SelectedSiteActionTemplateId); if (siteActionTemplate != null) { siteActionTemplate.SiteID = ((LeadForceBasePage)Page).SiteId; siteActionTemplate.ActionTypeID = int.Parse(ddlActionType.SelectedValue); siteActionTemplate.ReplaceLinksID = int.Parse(ddlReplaceLinks.SelectedValue); siteActionTemplate.ToEmail = txtToEmail.Text; siteActionTemplate.FromEmail = txtFromEmail.Text; siteActionTemplate.FromName = txtFromName.Text; siteActionTemplate.ReplyToEmail = txtReplyEmail.Text; siteActionTemplate.ReplyToName = txtReplyName.Text; siteActionTemplate.MessageCaption = txtMessageCaption.Text; siteActionTemplate.MessageBody = ucHtmlEditor.Content; if ((SiteActionTemplateCategory)siteActionTemplate.SiteActionTemplateCategoryID != SiteActionTemplateCategory.BaseTemplate) { if (dcbParentTemplate.SelectedId != Guid.Empty) { siteActionTemplate.ParentID = dcbParentTemplate.SelectedId; } } if (SelectedSiteActionTemplateId != Guid.Empty) { DataManager.SiteActionTemplate.Update(siteActionTemplate); } SelectedSiteActionTemplateId = siteActionTemplate.ID; gridSiteActionTemplates.Rebind(); if (SelectedTemplateChanged != null) { SelectedTemplateChanged(this, new SelectedTemplateChangedEventArgs() { SelectedTemplateId = siteActionTemplate.ID, SelectedTemplateTitle = siteActionTemplate.Title }); } } if (!Page.ClientScript.IsStartupScriptRegistered(this.ClientID + "_CloseSiteActionTemplateRadWindow")) { ScriptManager.RegisterStartupScript(Page, typeof(Page), this.ClientID + "_CloseSiteActionTemplateRadWindow", this.ClientID + "_CloseSiteActionTemplateRadWindow();", true); } }
/// <summary> /// Adds the specified site action template. /// </summary> /// <param name="siteActionTemplate">The site action template.</param> /// <returns></returns> public tbl_SiteActionTemplate Add(tbl_SiteActionTemplate siteActionTemplate) { if (siteActionTemplate.ID == Guid.Empty) { siteActionTemplate.ID = Guid.NewGuid(); } _dataContext.tbl_SiteActionTemplate.AddObject(siteActionTemplate); _dataContext.SaveChanges(); return(siteActionTemplate); }
/// <summary> /// Gets the system site action template. /// </summary> /// <param name="siteId">The site id.</param> /// <param name="systemSiteActionTemplate">The system site action template.</param> /// <returns></returns> public tbl_SiteActionTemplate SelectSystemSiteActionTemplate(Guid siteId, tbl_SiteActionTemplate systemSiteActionTemplate) { var siteActionTemplate = SelectBySystemName(siteId, systemSiteActionTemplate.SystemName); if (siteActionTemplate == null) { siteActionTemplate = systemSiteActionTemplate; siteActionTemplate.SiteID = siteId; siteActionTemplate = Add(siteActionTemplate); } return(siteActionTemplate); }
/// <summary> /// Handles the Click event of the BtnUpdate 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 BtnUpdate_Click(object sender, EventArgs e) { if (!access.Write) { return; } var siteActionTemplate = DataManager.SiteActionTemplate.SelectById(_siteActionTemplateId); if (siteActionTemplate == null) { siteActionTemplate = new tbl_SiteActionTemplate(); } siteActionTemplate.SiteID = siteID; siteActionTemplate.Title = ((TextBox)fvSiteActionTemplate.FindControl("txtTitle")).Text; siteActionTemplate.ActionTypeID = int.Parse(((DropDownList)fvSiteActionTemplate.FindControl("ddlActionType")).SelectedValue); siteActionTemplate.ReplaceLinksID = int.Parse(((DropDownList)fvSiteActionTemplate.FindControl("ddlReplaceLinks")).SelectedValue); siteActionTemplate.ToEmail = ((TextBox)fvSiteActionTemplate.FindControl("txtToEmail")).Text; siteActionTemplate.FromEmail = ((TextBox)fvSiteActionTemplate.FindControl("txtFromEmail")).Text; siteActionTemplate.FromName = ((TextBox)fvSiteActionTemplate.FindControl("txtFromName")).Text; siteActionTemplate.ReplyToEmail = ((TextBox)fvSiteActionTemplate.FindControl("txtReplyEmail")).Text; siteActionTemplate.ReplyToName = ((TextBox)fvSiteActionTemplate.FindControl("txtReplyName")).Text; siteActionTemplate.MessageCaption = ((TextBox)fvSiteActionTemplate.FindControl("txtMessageCaption")).Text; //siteActionTemplate.MessageBody = ucHtmlEditor.Content; if (_siteActionTemplateId != Guid.Empty) { DataManager.SiteActionTemplate.Update(siteActionTemplate); } else { siteActionTemplate.SiteActionTemplateCategoryID = (int)SiteActionTemplateCategory.BaseTemplate; siteActionTemplate.OwnerID = CurrentUser.Instance.ContactID; siteActionTemplate = DataManager.SiteActionTemplate.Add(siteActionTemplate); } var thumbnail = GetWebSiteThumb.ClassWSThumb.GetWebSiteThumbnail(string.Format("{0}/Handlers/SiteActionTemplateThumbnail.aspx?siteid={1}&id={2}", BusinessLogicLayer.Configuration.Settings.LeadForceSiteUrl, siteActionTemplate.SiteID, siteActionTemplate.ID), 800, 800, 200, 200); using (var stream = new System.IO.MemoryStream()) { var fileProvider = new FileSystemProvider(); thumbnail.Save(stream, System.Drawing.Imaging.ImageFormat.Png); stream.Position = 0; fileProvider.Upload(SiteId, "SiteActionTemplates", siteActionTemplate.ID.ToString() + ".png", stream, FileType.Thumbnail, false); } Response.Redirect(UrlsData.AP_SiteActionTemplates()); }
/// <summary> /// Updates the UI. /// </summary> /// <param name="siteActionTemplate">The site action template.</param> public void UpdateUI(tbl_SiteActionTemplate siteActionTemplate) { if (siteActionTemplate != null) { txtSiteActionTemplateId.Text = siteActionTemplate.ID.ToString(); lbtnSiteActionTemplate.Text = siteActionTemplate.Title; lbtnSiteActionTemplate.OnClientClick = string.Format("{0}_ShowSiteActionTemplateRadWindow('{1}'); return false;", this.ClientID, siteActionTemplate.ID.ToString()); hlGoToTemplate.NavigateUrl = UrlsData.AP_SiteActionTemplate(siteActionTemplate.ID); //hlGoToTemplate.Visible = true; } else { lbtnSiteActionTemplate.Text = "Выберите шаблон"; lbtnSiteActionTemplate.OnClientClick = string.Format("{0}_ShowSiteActionTemplateRadWindow('{1}'); return false;", this.ClientID, Guid.Empty.ToString()); hlGoToTemplate.Visible = false; } }
/// <summary> /// Adds the site action. /// </summary> /// <param name="request">The request.</param> /// <param name="systemSiteActionTemplate">The system site action template.</param> protected static void AddSiteAction(tbl_Request request, tbl_SiteActionTemplate systemSiteActionTemplate) { var dataManager = new DataManager(); var siteActionTemplate = dataManager.SiteActionTemplate.SelectSystemSiteActionTemplate(request.SiteID, systemSiteActionTemplate); var siteAction = new tbl_SiteAction { SiteID = request.SiteID, SiteActionTemplateID = siteActionTemplate.ID, ContactID = request.ContactID, ActionStatusID = (int)ActionStatus.Scheduled, ActionDate = DateTime.Now, ObjectID = request.ID, MessageTypeID = (int)MessageType.RequestNotification, DirectionID = (int)Direction.Out, MessageTitle = siteActionTemplate.Title }; dataManager.SiteAction.Add(siteAction); }
/// <summary> /// Adds the site action. /// </summary> /// <param name="requestComment">The request comment.</param> /// <param name="systemSiteActionTemplate">The system site action template.</param> protected static void AddSiteAction(tbl_RequestComment requestComment, tbl_SiteActionTemplate systemSiteActionTemplate) { var dataManager = new DataManager(); var siteActionTemplate = dataManager.SiteActionTemplate.SelectSystemSiteActionTemplate(requestComment.SiteID, systemSiteActionTemplate); var serviceLevelClient = dataManager.ServiceLevelClient.SelectByCompanyId(requestComment.SiteID, (Guid)requestComment.tbl_Request.CompanyID); if (serviceLevelClient == null) { return; } var serviceLevelContacts = dataManager.ServiceLevelContact.SelectByClientId(serviceLevelClient.ID).ToList(); var commentator = dataManager.User.SelectById(requestComment.UserID); tbl_User destination = null; if (requestComment.DestinationUserID.HasValue) { destination = dataManager.User.SelectById((Guid)requestComment.DestinationUserID); } foreach (var serviceLevelContact in serviceLevelContacts) { //Не высылать уведомление самому себе if (commentator != null && serviceLevelContact.ContactID == commentator.ContactID) { continue; } if (destination != null && serviceLevelContact.ContactID != destination.ContactID) { continue; } if (requestComment.IsInternal) { var user = dataManager.User.SelectByContactId(requestComment.SiteID, serviceLevelContact.ContactID); if (user == null || user.AccessLevelID == (int)AccessLevel.Portal) { continue; } } switch ((ServiceLevelInformComment)serviceLevelContact.InformCommentID) { case ServiceLevelInformComment.Not: continue; case ServiceLevelInformComment.Personal: if (requestComment.DestinationUserID.HasValue) { var user = dataManager.User.SelectById((Guid)requestComment.DestinationUserID); if (user.ContactID != serviceLevelContact.ContactID) { continue; } } else { continue; } break; case ServiceLevelInformComment.PersonalRequirement: if (requestComment.tbl_Request.ContactID != serviceLevelContact.ContactID && requestComment.tbl_Request.ResponsibleID != serviceLevelContact.ContactID) { continue; } break; } var siteAction = new tbl_SiteAction { SiteID = requestComment.SiteID, SiteActionTemplateID = siteActionTemplate.ID, ContactID = serviceLevelContact.ContactID, ActionStatusID = (int)ActionStatus.Scheduled, ActionDate = DateTime.Now, ObjectID = requestComment.ID, MessageTypeID = (int)MessageType.RequestCommentNotification, DirectionID = (int)Direction.Out, MessageTitle = siteActionTemplate.Title }; dataManager.SiteAction.Add(siteAction); } }
/// <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 (!access.Write) { return; } Guid?parentId = null; switch (rlbNewTemplate.SelectedValue) { case "BaseOn": parentId = BaseOnSiteActionTemplateId; break; } tbl_SiteActionTemplate siteActionTemplate = null; siteActionTemplate = DataManager.SiteActionTemplate.SelectById(((LeadForceBasePage)Page).SiteId, CurrentSiteActionTemplateId.HasValue ? (Guid)CurrentSiteActionTemplateId : Guid.Empty); if (siteActionTemplate == null) { siteActionTemplate = new tbl_SiteActionTemplate(); } siteActionTemplate.SiteID = ((LeadForceBasePage)Page).SiteId; siteActionTemplate.ParentID = parentId; siteActionTemplate.Title = txtTitle.Text; siteActionTemplate.ActionTypeID = int.Parse(ddlActionType.SelectedValue); siteActionTemplate.ReplaceLinksID = int.Parse(ddlReplaceLinks.SelectedValue); siteActionTemplate.ToEmail = txtToEmail.Text; siteActionTemplate.FromEmail = txtFromEmail.Text; siteActionTemplate.FromName = txtFromName.Text; siteActionTemplate.ReplyToEmail = txtReplyEmail.Text; siteActionTemplate.ReplyToName = txtReplyName.Text; siteActionTemplate.MessageCaption = txtMessageCaption.Text; siteActionTemplate.MessageBody = ucHtmlEditor.Content; siteActionTemplate.SiteActionTemplateCategoryID = (int)CurrentSiteActionTemplateCategory; if ((SiteActionTemplateCategory)siteActionTemplate.SiteActionTemplateCategoryID != SiteActionTemplateCategory.BaseTemplate) { if (dcbParentTemplate.SelectedId != Guid.Empty) { siteActionTemplate.ParentID = dcbParentTemplate.SelectedId; } } if (CurrentSiteActionTemplateId.HasValue && CurrentSiteActionTemplateId != Guid.Empty) { DataManager.SiteActionTemplate.Update(siteActionTemplate); } else { siteActionTemplate.OwnerID = CurrentUser.Instance.ContactID; DataManager.SiteActionTemplate.Add(siteActionTemplate); } SelectedSiteActionTemplateId = siteActionTemplate.ID; rlbNewTemplate.ClearSelection(); rlbNewTemplate.ClearChecked(); CurrentSiteActionTemplateId = null; BaseOnSiteActionTemplateId = null; gridSiteActionTemplates.Rebind(); CurrentSiteActionTemplateId = siteActionTemplate.ID; BindData(CurrentSiteActionTemplateId); rtsTabs.Tabs[1].Selected = true; RadMultiPage1.PageViews[1].Selected = true; UpdateUI(siteActionTemplate); if (SelectedTemplateChanged != null) { SelectedTemplateChanged(this, new SelectedTemplateChangedEventArgs() { SelectedTemplateId = siteActionTemplate.ID, SelectedTemplateTitle = siteActionTemplate.Title }); } if (fromSilverlight && !Page.ClientScript.IsStartupScriptRegistered(this.ClientID + "_WorkflowCallback")) { ScriptManager.RegisterStartupScript(Page, typeof(Page), this.ClientID + "_WorkflowCallback", string.Format("{0}_WorkflowCallback('{1}', '{2}');", this.ClientID, siteActionTemplate.ID, siteActionTemplate.Title), true); return; } if (!Page.ClientScript.IsStartupScriptRegistered(this.ClientID + "_CloseSiteActionTemplateRadWindow")) { ScriptManager.RegisterStartupScript(Page, typeof(Page), this.ClientID + "_CloseSiteActionTemplateRadWindow", this.ClientID + "_CloseSiteActionTemplateRadWindow();", true); } }
/// <summary> /// Updates the specified site action template. /// </summary> /// <param name="siteActionTemplate">The site action template.</param> public void Update(tbl_SiteActionTemplate siteActionTemplate) { _dataContext.SaveChanges(); }
protected static void AddSiteAction(tbl_InvoiceComment invoiceComment, tbl_SiteActionTemplate systemSiteActionTemplate) { var dataManager = new DataManager(); var siteActionTemplate = dataManager.SiteActionTemplate.SelectSystemSiteActionTemplate(invoiceComment.SiteID, systemSiteActionTemplate); var serviceLevelClient = dataManager.ServiceLevelClient.SelectByCompanyId(invoiceComment.SiteID, invoiceComment.tbl_Invoice.BuyerCompanyID.Value); if (serviceLevelClient == null) { return; } var serviceLevelContacts = dataManager.ServiceLevelContact.SelectByClientId(serviceLevelClient.ID).ToList(); var commentator = dataManager.User.SelectById(invoiceComment.UserID); tbl_User destination = null; if (invoiceComment.DestinationUserID.HasValue) { destination = dataManager.User.SelectById((Guid)invoiceComment.DestinationUserID); } foreach (var serviceLevelContact in serviceLevelContacts) { //Не высылать уведомление самому себе if (commentator != null && serviceLevelContact.ContactID == commentator.ContactID) { continue; } if (destination != null && serviceLevelContact.ContactID != destination.ContactID) { continue; } if (invoiceComment.IsInternal) { var user = dataManager.User.SelectByContactId(invoiceComment.SiteID, serviceLevelContact.ContactID); if (user == null || user.AccessLevelID == (int)AccessLevel.Portal) { continue; } } if (serviceLevelContact.IsInformInvoiceComments) { var siteAction = new tbl_SiteAction { SiteID = invoiceComment.SiteID, SiteActionTemplateID = siteActionTemplate.ID, ContactID = serviceLevelContact.ContactID, ActionStatusID = (int)ActionStatus.Scheduled, ActionDate = DateTime.Now, ObjectID = invoiceComment.ID, MessageTypeID = (int)MessageType.InvoiceCommentNotification, DirectionID = (int)Direction.Out, MessageTitle = siteActionTemplate.Title }; dataManager.SiteAction.Add(siteAction); } } }