Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 7
0
        /// <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());
        }
Exemplo n.º 8
0
 /// <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);
            }
        }
Exemplo n.º 11
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 (!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);
                }
            }
        }