Пример #1
0
        private void FollowUpsSummary()
        {
            bizActivity biz              = new bizActivity();
            int?        FollowUpsCount   = 0;
            int?        FollowUpsOverdue = 0;
            decimal?    SubmittedAmount  = 0;
            int?        SubmittedCount   = 0;
            int?        SubmittedOverdue = 0;

            bizUser.enGageUser user = (bizUser.enGageUser)Session["USER"];
            if (user == null)
            {
                return;
            }
            biz.FollowUpsSummary(user.UserName, ref FollowUpsCount, ref FollowUpsOverdue, ref SubmittedCount, ref SubmittedAmount, ref SubmittedOverdue);
            this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?1?", FollowUpsCount.ToString());
            if (this.Environment == "Production")
            {
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?2?", "<span class='header-line2-due'>(" + FollowUpsOverdue.ToString() + " due)</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?3?", "<span style='font-weight:bold;'>" + string.Format("{0:c}", SubmittedAmount) + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?4?", "<span style='font-weight:bold;'>" + SubmittedCount.ToString() + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?5?", "<span class='header-line2-due'>(" + SubmittedOverdue.ToString() + " due)</span>");
            }
            else
            {
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?2?", "<span class='header-line2-due-alt'>(" + FollowUpsOverdue.ToString() + " due)</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?3?", "<span style='font-weight:bold;'>" + string.Format("{0:c}", SubmittedAmount) + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?4?", "<span style='font-weight:bold;'>" + SubmittedCount.ToString() + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?5?", "<span class='header-line2-due-alt'>(" + SubmittedOverdue.ToString() + " due)</span>");
            }
        }
Пример #2
0
        private void PopuplateFollowUpsSummary()
        {
            bizActivity biz              = new bizActivity();
            int?        FollowUpsCount   = 0;
            int?        FollowUpsOverdue = 0;
            decimal?    SubmittedAmount  = 0;
            int?        SubmittedCount   = 0;
            int?        SubmittedOverdue = 0;

            bizUser.enGageUser user = (bizUser.enGageUser)Session["USER"];
            if (user == null)
            {
                return;
            }

            var allString = "(All)";
            List <sp_web_FollowUpsResult> d1 = biz.GetFollowUps(user.UserName, 0, 0, -1, string.Join(",", new string[] { Enums.ActivityActions.Qualify.ToString(), Enums.ActivityActions.Recognise.ToString() }), allString, allString, true);
            List <sp_web_FollowUpsResult> d2 = biz.GetFollowUps(user.UserName, 0, 0, -1, string.Join(",", new string[] { Enums.ActivityActions.Contact.ToString(), Enums.ActivityActions.Discover.ToString(), Enums.ActivityActions.Respond.ToString() }), allString, allString, false);
            List <sp_web_FollowUpsResult> d3 = biz.GetFollowUps(user.UserName, 0, 0, -1, string.Join(",", new string[] { Enums.ActivityActions.Agree.ToString(), Enums.ActivityActions.Process.ToString() }), allString, allString, false);

            var _allQualify      = d1;
            var _allRespond      = d2.Where(x => x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();
            var _allComplete     = d3;
            var allOpportunities = _allQualify.Concat(_allRespond).Concat(_allComplete).Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();

            var quoted = _allRespond.Sum(x => (x.NetBrokerageQuoted.HasValue) ? x.NetBrokerageQuoted : 0);

            FollowUpsCount   = allOpportunities.Count;
            FollowUpsOverdue = allOpportunities.Where(x => x.FollowUpDate < DateTime.Today.Date).Count();
            SubmittedAmount  = quoted;
            SubmittedCount   = _allRespond.Count;
            SubmittedOverdue = _allRespond.Where(x => x.FollowUpDate < DateTime.Today.Date).Count();

            //   biz.FollowUpsSummary(user.UserName, ref FollowUpsCount, ref FollowUpsOverdue, ref SubmittedCount, ref SubmittedAmount, ref SubmittedOverdue);
            this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?1?", FollowUpsCount.ToString());
            if (this.Environment == "Production")
            {
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?2?", "<span class='header-line2-due'>(" + FollowUpsOverdue.ToString() + " due)</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?3?", "<span style='font-weight:bold;'>" + string.Format("{0:c}", SubmittedAmount) + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?4?", "<span style='font-weight:bold;'>" + SubmittedCount.ToString() + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?5?", "<span class='header-line2-due'>(" + SubmittedOverdue.ToString() + " due)</span>");
            }
            else
            {
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?2?", "<span class='header-line2-due-alt'>(" + FollowUpsOverdue.ToString() + " due)</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?3?", "<span style='font-weight:bold;'>" + string.Format("{0:c}", SubmittedAmount) + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?4?", "<span style='font-weight:bold;'>" + SubmittedCount.ToString() + "</span>");
                this.lblHeaderLine2.Text = this.lblHeaderLine2.Text.Replace("?5?", "<span class='header-line2-due-alt'>(" + SubmittedOverdue.ToString() + " due)</span>");
            }
        }
Пример #3
0
 protected void btnInactivate_Click(object sender, EventArgs e)
 {
     try
     {
         bizActivity biz = new bizActivity();
         if (biz.SetToInactive(int.Parse(Request.QueryString["aid"])) == true)
         {
             PopulateActivityDetails();
         }
         this.ucMessanger1.ProcessMessages(biz.MSGS, true);
     }
     catch (Exception ex)
     {
         bizLog.InsertExceptionLog(ex);
         Response.Redirect("~/ErrorPage.aspx", false);
     }
 }
        private void PopulateOpportunityStatusesQuickWin()
        {
            //current status
            bizActivity bizA = new bizActivity();
            Status      cs   = bizA.GetStatusByName("Accepted");

            this.lblOpportunityStatus.Text = cs.StatusName;

            //next status
            List <Status> ns = bizA.GetNextStatuses(cs.StatusID);

            this.lblNextActivity.Text = "";
            foreach (Status s in ns)
            {
                this.lblNextActivity.Text += s.StatusName + ",";
            }
            char[] charsToTrim = { ',' };
            this.lblNextActivity.Text = this.lblNextActivity.Text.TrimEnd(charsToTrim);
        }
        private void PopulateOpportunityStatuses()
        {
            //current status
            bizActivity bizA = new bizActivity();
            Status      ins  = bizA.GetInitialStatus();

            this.ucMessanger1.ProcessMessages(bizA.MSGS, true);
            this.lblOpportunityStatus.Text = ins.StatusName;

            //next status
            List <Status> ns = bizA.GetNextStatuses(ins.StatusID);

            this.lblNextActivity.Text = "";
            foreach (Status s in ns)
            {
                this.lblNextActivity.Text += s.StatusName + ",";
            }
            char[] charsToTrim = { ',' };
            this.lblNextActivity.Text = this.lblNextActivity.Text.TrimEnd(charsToTrim);
        }
Пример #6
0
        private void InsertQuickCall()
        {
            Client    c   = new Client();
            bizClient biz = new bizClient();

            //CLIENT//
            //general
            c.Inactive = false;
            bizUser.enGageUser user = (bizUser.enGageUser)Session["USER"];
            c.AccountExecutiveID = user.UserName;
            c.ClientCode         = this.txtClientCode.Text;
            c.ClientName         = this.txtClientName.Text;
            c.RegisteredName     = this.txtRegisteredName.Text;
            //c.InsuredName = this.txtInsuredName.Text;
            if (this.txtABNACN.Text != "")
            {
                c.ABNACN = this.txtABNACN.Text;
            }
            c.Source           = this.txtSource.Text;
            c.OfficeFacsimilie = this.txtOfficeFacsimilie.Text;
            c.OfficePhone      = this.txtOfficePhone.Text;
            //address
            if (this.txtAddress.Text != "")
            {
                c.Address = this.txtAddress.Text;
            }
            if (this.rblAddressTypes.SelectedIndex == 0)
            {
                if (this.ucAUPSS1.PostCode != "")
                {
                    c.PostCode = this.ucAUPSS1.PostCode;
                }
                if (this.ucAUPSS1.StateCode != "")
                {
                    c.StateCode = this.ucAUPSS1.StateCode;
                }
                if (this.ucAUPSS1.Suburb != "")
                {
                    c.Location = this.ucAUPSS1.Suburb;
                }
            }
            //industry
            if (this.lstIndustry.SelectedValue != "")
            {
                c.AnzsicCode = this.lstIndustry.SelectedValue;
            }
            if (this.ddlAssociation.SelectedValue != "")
            {
                c.AssociationCode = this.ddlAssociation.SelectedValue;
            }
            c.AssociationMemberNumber = this.txtAssociationMemberNumber.Text;
            //audit
            c.AddedBy = bizUser.GetCurrentUserName();
            c.Added   = DateTime.Now;

            if (biz.ValidateClient(c) == false)
            {
                this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                return;
            }

            //CONTACT//
            Contact    cl   = new Contact();
            bizContact bizC = new bizContact();

            if (this.ckbAddContact.Checked == true)
            {
                //general
                cl.ContactName = this.txtContactName.Text;
                cl.Title       = this.ddlTitle.SelectedValue;
                cl.Mobile      = this.txtMobile.Text;
                cl.DirectLine  = this.txtDirectLine.Text;
                cl.Email       = this.txtEmail.Text;
                //audit
                cl.AddedBy = bizUser.GetCurrentUserName();
                cl.Added   = DateTime.Now;
            }

            if (this.ckbAddContact.Checked == true)
            {
                if (bizC.ValidateContact(cl) == false)
                {
                    this.ucMessanger1.ProcessMessages(bizC.MSGS, true);
                    return;
                }
                c.Contacts.Add(cl);
            }

            //OPPORTUNITY//
            Opportunity    o    = new Opportunity();
            bizOpportunity bizO = new bizOpportunity();

            //general
            o.OpportunityName = this.txtOpportunityName.Text;
            if (this.txtOpportunityDue.Text != "")
            {
                o.OpportunityDue = DateTime.Parse(this.txtOpportunityDue.Text);
            }
            o.IncumbentBroker  = this.txtIncumbentBroker.Text;
            o.IncumbentInsurer = this.txtIncumbentInsurer.Text;
            if (this.ddlClassification.SelectedValue != "")
            {
                o.ClassificationID = int.Parse(this.ddlClassification.SelectedValue);
            }
            if (this.ddlBusinessType.SelectedValue != "")
            {
                o.BusinessTypeID = int.Parse(this.ddlBusinessType.SelectedValue);
            }
            if (this.ddlFlagged.SelectedValue != "")
            {
                o.Flagged = bool.Parse(this.ddlFlagged.SelectedValue);
            }
            //o.NetBrokerageQuoted = decimal.Parse(this.txtNetBrokerageQuoted.Text);
            //o.NetBrokerageActual = decimal.Parse(this.txtNetBrokerageActual.Text);
            //audit
            o.AddedBy = bizUser.GetCurrentUserName();
            o.Added   = DateTime.Now;

            if (bizO.ValidateQuickQuoteOpportunity(o) == false)
            {
                this.ucMessanger1.ProcessMessages(bizO.MSGS, true);
                return;
            }
            c.Opportunities.Add(o);

            //ACTIVITY//
            bizActivity bizA = new bizActivity();
            char        ot   = 'S';
            List <sp_web_ListStatusesByOutcomeTypeResult> ss = bizA.ListStatusesByOutcomeType(ot);

            foreach (var s in ss)
            {
                Activity na = new Activity();
                //general
                na.OpportunityStatusID = s.StatusID;
                if (this.txtFollowUpDate.Text != "")
                {
                    na.FollowUpDate = DateTime.Parse(this.txtFollowUpDate.Text);
                }
                na.Inactive = false;
                if (s.StatusName == "Go-to-Market")
                {
                    na.ActivityNote = this.txtActivityNote.Text;
                }
                else
                {
                    na.ActivityNote = "Quick call";
                }
                //audit
                na.AddedBy = bizUser.GetCurrentUserName();
                na.Added   = DateTime.Now;
                o.Activities.Add(na);
                if (s.StatusName == "Go-to-Market")
                {
                    break;
                }
            }

            foreach (Activity na in o.Activities)
            {
                if (bizA.ValidateActivity(na, true) == false)
                {
                    this.ucMessanger1.ProcessMessages(bizA.MSGS, true);
                    return;
                }
            }

            int oid = biz.InsertClient(c);

            if (oid != 0)
            {
                this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                Response.Redirect("ViewClient.aspx?cid=" + oid.ToString(), false);
            }
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);
        }
Пример #7
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                this.ucMessanger1.ClearMessages();
                this.ucMessanger1.UnmarkControls();

                if (this.UIValidation() == false)
                {
                    return;
                }

                bizActivity biz = new bizActivity();

                Activity a = biz.GetActivity(int.Parse(Request.QueryString["aid"]));
                this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                //general
                if (this.txtFollowUpDate.Text != "")
                {
                    a.FollowUpDate = DateTime.Parse(this.txtFollowUpDate.Text);
                }
                else
                {
                    a.FollowUpDate = null;
                }
                if (this.ddlContact.SelectedValue != "")
                {
                    a.ContactID = int.Parse(this.ddlContact.SelectedValue);
                }
                else
                {
                    a.ContactID = null;
                }
                a.ActivityNote = this.txtActivityNote.Text;
                a.Inactive     = false;
                //additional
                switch (this.lblActivityStatus.Text)
                {
                case "Identified":
                    break;

                case "Qualified-in":
                    break;

                case "Qualified-out":
                    a.Opportunity.DateCompleted = DateTime.Parse(this.txtDateCompleted.Text);
                    break;

                case "Interested":
                    a.Opportunity.OpportunityDue   = DateTime.Parse(this.txtOpportunityDue.Text);
                    a.Opportunity.IncumbentBroker  = this.txtIncumbentBroker.Text;
                    a.Opportunity.IncumbentInsurer = this.txtIncumbentInsurer.Text;
                    a.Opportunity.ClassificationID = int.Parse(this.ddlClassification.SelectedValue);
                    break;

                case "Not Interested":
                    a.Opportunity.DateCompleted = DateTime.Parse(this.txtDateCompleted.Text);
                    break;

                case "Go-to-Market":
                    break;

                case "Revisit next year":
                    a.Opportunity.DateCompleted = DateTime.Parse(this.txtDateCompleted.Text);
                    break;

                case "Quoted":
                    a.Opportunity.NetBrokerageQuoted = decimal.Parse(this.txtNetBrokerageQuoted.Text);
                    break;

                case "Can't Place":
                    a.Opportunity.DateCompleted = DateTime.Parse(this.txtDateCompleted.Text);
                    break;

                case "Accepted":
                    a.Opportunity.NetBrokerageActual = decimal.Parse(this.txtNetBrokerageActual.Text);
                    break;

                case "Lost":
                    a.Opportunity.DateCompleted = DateTime.Parse(this.txtDateCompleted.Text);
                    break;

                case "Processed":
                    a.Opportunity.DateCompleted     = DateTime.Parse(this.txtDateCompleted.Text);
                    a.Opportunity.MemoNumber        = this.txtMemoNumber.Text;
                    a.Opportunity.Client.ClientCode = this.txtClientCode.Text;
                    break;

                default:     // all pending statuses
                    break;
                }
                //audit
                a.ModifiedBy = bizUser.GetCurrentUserName();
                a.Modified   = DateTime.Now;
                //action
                if (biz.ValidateActivity(a) == false)
                {
                    this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                    return;
                }
                if (biz.UpdateActivity(a, a.Opportunity) == true)
                {
                    this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                    Response.Redirect("ViewActivity.aspx?cid=" + Request.QueryString["cid"]
                                      + "&oid=" + Request.QueryString["oid"]
                                      + "&aid=" + Request.QueryString["aid"]
                                      , false);
                }
                this.ucMessanger1.ProcessMessages(biz.MSGS, true);
            }
            catch (Exception ex)
            {
                bizLog.InsertExceptionLog(ex);
                Response.Redirect("~/ErrorPage.aspx", false);
            }
        }
Пример #8
0
        private bool UIValidation()
        {
            bizMessage bizM = new bizMessage();

            if (this.lblActivityStatus.Text == "")
            {
                this.ucMessanger1.ProcessMessage("Stage of Sales / Aspire Cycle: " + bizM.GetMessageText("ValueNotSelected"), Enums.enMsgType.Err, "OpportunityStatus", typeof(DropDownList), true);
                return(false);
            }
            bizActivity biz = new bizActivity();

            if (biz.GetStatusByID(int.Parse(this.hidStatusID.Value)).OutcomeType != "C")
            {
                if (this.txtFollowUpDate.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Follow Up Date: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "FollowUpDate", typeof(TextBox), true);
                    return(false);
                }
            }
            if (this.txtFollowUpDate.Text != "")
            {
                DateTime result;
                if (DateTime.TryParse(this.txtFollowUpDate.Text, out result) == false)
                {
                    this.ucMessanger1.ProcessMessage("Follow Up Date: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "FollowUpDate", typeof(TextBox), true);
                    return(false);
                }
            }

            switch (this.lblActivityStatus.Text)
            {
            case "Identified":
                break;

            case "Qualified-in":
                break;

            case "Qualified-out":
                if (this.txtDateCompleted.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    DateTime res;
                    if (DateTime.TryParse(this.txtDateCompleted.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                        return(false);
                    }
                }
                break;

            case "Interested":
                DateTime result;
                if (this.txtOpportunityDue.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Renewal Date: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "OpportunityDue", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    if (DateTime.TryParse(this.txtOpportunityDue.Text, out result) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Renewal Date: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "OpportunityDue", typeof(TextBox), true);
                        return(false);
                    }
                }
                if (this.ddlClassification.SelectedValue == "")
                {
                    this.ucMessanger1.ProcessMessage("CSS Segment: " + bizM.GetMessageText("ValueNotSelected"), Enums.enMsgType.Err, "Classification", typeof(DropDownList), true);
                    return(false);
                }
                break;

            case "Not Interested":
                if (this.txtDateCompleted.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    DateTime res;
                    if (DateTime.TryParse(this.txtDateCompleted.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                        return(false);
                    }
                }
                break;

            case "Go-to-Market":
                break;

            case "Revisit next year":
                if (this.txtDateCompleted.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    DateTime res;
                    if (DateTime.TryParse(this.txtDateCompleted.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                        return(false);
                    }
                }
                break;

            case "Quoted":
                if (this.txtNetBrokerageQuoted.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Expected OAMPS income Quoted: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "NetBrokerageQuoted", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    decimal res;
                    if (Decimal.TryParse(this.txtNetBrokerageQuoted.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Expected OAMPS income Quoted: " + bizM.GetMessageText("FieldNotDecimal"), Enums.enMsgType.Err, "NetBrokerageQuoted", typeof(TextBox), true);
                        return(false);
                    }
                }
                break;

            case "Can't Place":
                if (this.txtDateCompleted.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    DateTime res;
                    if (DateTime.TryParse(this.txtDateCompleted.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                        return(false);
                    }
                }
                break;

            case "Accepted":
                if (this.txtNetBrokerageActual.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Expected OAMPS income Actual: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "NetBrokerageActual", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    decimal res;
                    if (Decimal.TryParse(this.txtNetBrokerageActual.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Expected OAMPS income Actual: " + bizM.GetMessageText("FieldNotDecimal"), Enums.enMsgType.Err, "NetBrokerageActual", typeof(TextBox), true);
                        return(false);
                    }
                }
                break;

            case "Lost":
                if (this.txtDateCompleted.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    DateTime res;
                    if (DateTime.TryParse(this.txtDateCompleted.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                        return(false);
                    }
                }
                break;

            case "Processed":
                if (this.txtDateCompleted.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                    return(false);
                }
                else
                {
                    DateTime res;
                    if (DateTime.TryParse(this.txtDateCompleted.Text, out res) == false)
                    {
                        this.ucMessanger1.ProcessMessage("Date Completed: " + bizM.GetMessageText("FieldNotDate"), Enums.enMsgType.Err, "DateCompleted", typeof(TextBox), true);
                        return(false);
                    }
                }
                if (this.txtMemoNumber.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Memo Number: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "MemoNumber", typeof(TextBox), true);
                    return(false);
                }
                if (this.txtClientCode.Text == "")
                {
                    this.ucMessanger1.ProcessMessage("Client Code: " + bizM.GetMessageText("EmptyField"), Enums.enMsgType.Err, "ClientCode", typeof(TextBox), true);
                    return(false);
                }
                break;

            default:     // all pending statuses
                break;
            }
            return(true);
        }
Пример #9
0
        private void PopulateOpportunityDetails()
        {
            bizMessage     bizM = new bizMessage();
            bizSetting     bizS = new bizSetting();
            bizOpportunity biz  = new bizOpportunity();
            Opportunity    o;

            o = biz.GetOpportunity(int.Parse(Request.QueryString["oid"]));
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);

            if (o == null)
            {
                return;
            }

            switch (o.BusinessType.BusinessTypeName)
            {
            case Enums.enBusinessType.NewBusiness:
                this.imgBusinessType.ImageUrl = "~/images/OpportunityNewBusiness.gif";
                break;

            case Enums.enBusinessType.ReclaimedBusiness:
                this.imgBusinessType.ImageUrl = "~/images/OpportunityReclaimedBusiness.gif";
                break;

            case Enums.enBusinessType.ExistingClients:
                this.imgBusinessType.ImageUrl = "~/images/OpportunityExistingClients.gif";
                break;

            case Enums.enBusinessType.QuickQuote:
                this.imgBusinessType.ImageUrl = "~/images/OpportunityQuickQuote.gif";
                break;

            case Enums.enBusinessType.QuickWin:
                this.imgBusinessType.ImageUrl = "~/images/OpportunityQuickWin.gif";
                break;

            case Enums.enBusinessType.QuickCall:
                this.imgBusinessType.ImageUrl = "~/images/OpportunityQuickCall.gif";
                break;
            }

            this.imgFlagged.Visible = o.Flagged;
            if (o.Flagged == false)
            {
                this.btnFlagUnflag.Text = "Flag";
            }
            else
            {
                this.btnFlagUnflag.Text = "Un-Flag";
            }

            this.lblOpportunityName.Text = o.OpportunityName;
            this.lblOpportunityDue.Text  = string.Format("{0:dd-MMM-yy}", o.OpportunityDue);
            if (o.ContactID != null)
            {
                this.lblContact.Text = o.Contact.ContactName;
            }
            this.lblMemoNumber.Text = o.MemoNumber;
            if (o.ClassificationID != null)
            {
                this.lblClassification.Text = o.Classification.ClassificationName;
            }
            this.lblIncumbentBroker.Text      = o.IncumbentBroker;
            this.lblIncumbentUnderwriter.Text = o.IncumbentInsurer;
            this.lblNetBrokerageQuoted.Text   = string.Format("{0:C}", o.NetBrokerageQuoted);
            this.lblNetBrokerageActual.Text   = string.Format("{0:C}", o.NetBrokerageActual);

            List <sp_web_GetCurrentOpportunityStatusResult> s = biz.GetCurrentOpportunityStatus(o.OpportunityID);

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            if (s != null)
            {
                this.lblStatus.Text = s.First().StatusName;
            }

            bizActivity bizA = new bizActivity();

            this.lblNextActivity.Text = "";
            IList <sp_web_ListNextOpportunityStatusesResult> res = bizA.ListNextOpportunityStatuses(o.OpportunityID);

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            foreach (sp_web_ListNextOpportunityStatusesResult r in res)
            {
                this.lblNextActivity.Text += r.StatusName + ",";
            }
            char[] charsToTrim = { ',' };
            this.lblNextActivity.Text = this.lblNextActivity.Text.TrimEnd(charsToTrim);
            if (res.Count == 0)
            {
                IList <sp_web_ListCurrentOpportunityStatusesResult> rs = bizA.ListCurrentOpportunityStatuses(o.OpportunityID);
                this.ucMessanger1.ProcessMessages(biz.MSGS, false);
                foreach (sp_web_ListCurrentOpportunityStatusesResult r in rs)
                {
                    this.lblNextActivity.Text += r.StatusName + ",";
                }
                char[] chrsToTrim = { ',' };
                this.lblNextActivity.Text = this.lblNextActivity.Text.TrimEnd(chrsToTrim);
            }

            this.lblFollowUpCompleted.Text = string.Format("{0:dd-MMM-yy}", biz.GetCurrentFollowUpDate(o.OpportunityID));

            if (biz.IsOpportunityCompleted(o.OpportunityID) == true)
            {
                this.lblNextActivity.Text           = "None - Opportunity has been completed";
                this.lblFollowUpCompletedLabel.Text = "Completed:";
                this.lblFollowUpCompleted.Text      = string.Format("{0:dd-MMM-yy}", o.DateCompleted);
                this.btnAddActivity.Visible         = false;
            }

            this.lblActive.Text   = o.Activities.Where(a => a.Inactive == false).Count().ToString();
            this.lblInactive.Text = o.Activities.Where(a => a.Inactive == true).Count().ToString();
            if (int.Parse(this.lblInactive.Text) == 0)
            {
                this.lnkSeeAll.Enabled = false;
            }
            else
            {
                this.lnkSeeAll.Enabled = true;
            }

            //activities
            this.grvActivities.DataSource = biz.ListOpportunityActiveActivites(o.OpportunityID);
            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            this.grvActivities.DataBind();

            //audit
            ((Main)Master).HeaderDetails = "Opportunity added by "
                                           + bizActiveDirectory.GetUserFullName(o.AddedBy)
                                           + " (" + string.Format("{0:dd-MMM-yy}", o.Added) + ")";

            if (o.Modified.HasValue == true)
            {
                ((Main)Master).HeaderDetails += " / modified by "
                                                + bizActiveDirectory.GetUserFullName(o.ModifiedBy)
                                                + " (" + string.Format("{0:dd-MMM-yy}", o.Modified.Value) + ")";
            }
        }
        private void InsertQuickCall()
        {
            Opportunity    o   = new Opportunity();
            bizOpportunity biz = new bizOpportunity();

            //OPPORTUNITY//
            o.ClientID        = int.Parse(Request.QueryString["cid"]);
            o.Inactive        = false;
            o.Flagged         = false;
            o.OpportunityName = this.txtOpportunityName.Text;
            if (this.txtOpportunityDue.Text != "")
            {
                o.OpportunityDue = DateTime.Parse(this.txtOpportunityDue.Text);
            }
            o.IncumbentBroker  = this.txtIncumbentBroker.Text;
            o.IncumbentInsurer = this.txtIncumbentInsurer.Text;
            if (this.ddlClassification.SelectedValue != "")
            {
                o.ClassificationID = int.Parse(this.ddlClassification.SelectedValue);
            }
            if (this.ddlBusinessType.SelectedValue != "")
            {
                o.BusinessTypeID = int.Parse(this.ddlBusinessType.SelectedValue);
            }
            if (this.ddlContact.SelectedValue != "")
            {
                o.ContactID = int.Parse(this.ddlContact.SelectedValue);
            }
            //audit
            o.AddedBy = bizUser.GetCurrentUserName();
            o.Added   = DateTime.Now;

            if (biz.ValidateQuickQuoteOpportunity(o) == false)
            {
                this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                return;
            }

            //ACTIVITY//
            bizActivity bizA = new bizActivity();
            char        ot   = 'S';
            List <sp_web_ListStatusesByOutcomeTypeResult> ss = bizA.ListStatusesByOutcomeType(ot);

            foreach (var s in ss)
            {
                Activity na = new Activity();
                //general
                na.OpportunityStatusID = s.StatusID;
                if (this.txtFollowUpDate.Text != "")
                {
                    na.FollowUpDate = DateTime.Parse(this.txtFollowUpDate.Text);
                }
                na.Inactive = false;
                if (s.StatusName == "Go-to-Market")
                {
                    na.ActivityNote = this.txtActivityNote.Text;
                }
                else
                {
                    na.ActivityNote = "Quick call";
                }
                //audit
                na.AddedBy = bizUser.GetCurrentUserName();
                na.Added   = DateTime.Now;
                o.Activities.Add(na);
                if (s.StatusName == "Go-to-Market")
                {
                    break;
                }
            }

            foreach (Activity na in o.Activities)
            {
                if (bizA.ValidateActivity(na) == false)
                {
                    this.ucMessanger1.ProcessMessages(bizA.MSGS, true);
                    return;
                }
            }

            int oid = biz.InsertOpportunity(o);

            if (oid != 0)
            {
                Response.Redirect("ViewClient.aspx?cid=" + Request.QueryString["cid"], false);
            }
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);
        }
        private void Insert()
        {
            Opportunity    o   = new Opportunity();
            bizOpportunity biz = new bizOpportunity();

            //general opportunity
            o.ClientID        = int.Parse(Request.QueryString["cid"]);
            o.Inactive        = false;
            o.Flagged         = false;
            o.OpportunityName = this.txtOpportunityName.Text;
            if (this.txtOpportunityDue.Text != "")
            {
                o.OpportunityDue = DateTime.Parse(this.txtOpportunityDue.Text);
            }
            o.IncumbentBroker  = this.txtIncumbentBroker.Text;
            o.IncumbentInsurer = this.txtIncumbentInsurer.Text;
            if (this.ddlClassification.SelectedValue != "")
            {
                o.ClassificationID = int.Parse(this.ddlClassification.SelectedValue);
            }
            if (this.ddlBusinessType.SelectedValue != "")
            {
                o.BusinessTypeID = int.Parse(this.ddlBusinessType.SelectedValue);
            }
            if (this.ddlContact.SelectedValue != "")
            {
                o.ContactID = int.Parse(this.ddlContact.SelectedValue);
            }
            //audit
            o.AddedBy = bizUser.GetCurrentUserName();
            o.Added   = DateTime.Now;

            //general activity
            Activity    na   = new Activity();
            bizActivity bizA = new bizActivity();

            na.OpportunityStatusID = bizA.GetInitialStatus().StatusID;
            if (this.txtFollowUpDate.Text != "")
            {
                na.FollowUpDate = DateTime.Parse(this.txtFollowUpDate.Text);
            }
            na.Inactive     = false;
            na.ActivityNote = "";
            //audit
            na.AddedBy = bizUser.GetCurrentUserName();
            na.Added   = DateTime.Now;

            //action
            if (biz.ValidateOpportunity(o) == false)
            {
                this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                return;
            }
            o.Activities.Add(na);
            int oid = biz.InsertOpportunity(o);

            if (oid != 0)
            {
                Response.Redirect("ViewClient.aspx?cid=" + Request.QueryString["cid"], false);
            }
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);
        }
Пример #12
0
        private void PopulateActivityDetails()
        {
            bizMessage  bizM = new bizMessage();
            bizSetting  bizS = new bizSetting();
            bizActivity biz  = new bizActivity();

            //status
            this.ddlOpportunityStatus.Items.Add(new ListItem("-- Please Select --", ""));
            List <sp_web_ListNextOpportunityStatusesResult> ss = biz.ListNextOpportunityStatuses(int.Parse(Request.QueryString["oid"]));

            foreach (sp_web_ListNextOpportunityStatusesResult s in ss)
            {
                this.ddlOpportunityStatus.Items.Add(new ListItem(s.StatusName, s.StatusID.ToString()));
            }
            if (ss.Count == 0) // pending
            {
                List <sp_web_ListCurrentOpportunityStatusesResult> cs = biz.ListCurrentOpportunityStatuses(int.Parse(Request.QueryString["oid"]));
                foreach (sp_web_ListCurrentOpportunityStatusesResult s in cs)
                {
                    this.ddlOpportunityStatus.Items.Add(new ListItem(s.StatusName, s.StatusID.ToString()));
                }
            }

            //bizClient bizC = new bizClient();
            //Client cc = bizC.GetClient(int.Parse(Request.QueryString["cid"]));
            //sp_web_GetUserByIDResult exec = bizC.GetAccountExecutive(cc.AccountExecutiveID);
            //this.ucMessanger1.ProcessMessages(bizC.MSGS, false);
            //bizUser.enGageUser user = (bizUser.enGageUser)Session["USER"];
            //switch (user.Role)
            //{
            //    case (int)Enums.enUserRole.Executive:
            //        if (user.Branch == exec.Branch)
            //        {
            //            if (user.DisplayName != exec.DisplayName)
            //            {
            //                this.btnSave.Enabled = false;
            //                this.btnInactive.Enabled = false;
            //            }
            //        }
            //        else
            //        {
            //            Response.Redirect("~/FindClient.aspx", false);
            //            return;
            //        }
            //        break;
            //    case (int)Enums.enUserRole.Branch:
            //        if (user.Branch != exec.Branch)
            //        {
            //            Response.Redirect("~/FindClient.aspx", false);
            //            return;
            //        }
            //        break;
            //    case (int)Enums.enUserRole.Region:
            //        if (user.Region == exec.Region)
            //        {
            //            this.btnSave.Enabled = false;
            //            this.btnInactive.Enabled = false;
            //        }
            //        else
            //        {
            //            Response.Redirect("~/FindClient.aspx", false);
            //            return;
            //        }
            //        break;
            //    case (int)Enums.enUserRole.Company:
            //        this.btnSave.Enabled = false;
            //        this.btnInactive.Enabled = false;
            //        break;
            //    case (int)Enums.enUserRole.Administrator:
            //        // full access
            //        break;
            //}
        }
Пример #13
0
        protected void btnSetReminder_Click(object sender, EventArgs e)
        {
            bizClient biz = new bizClient();
            Client    c;

            c = biz.GetClient(int.Parse(Request.QueryString["cid"]));

            bizOpportunity biz2 = new bizOpportunity();
            Opportunity    o;

            o = biz2.GetOpportunity(int.Parse(Request.QueryString["oid"]));

            bizActivity biz3 = new bizActivity();
            Activity    a;

            a = biz3.GetActivity(Convert.ToInt32(Request.QueryString["aid"]));

            string subject = string.Format("enGage Follow-up: {0},{1} - {2}", c.ClientName, o.OpportunityName, a.Status.StatusName);

            //To do - set this to the name of the activity.

            DateTime startDate = DateTime.MinValue;
            DateTime endDate   = DateTime.MinValue;

            if (a.FollowUpDate != null)
            {
                startDate = DateTime.Parse(string.Format("{0} 08:00 AM", string.Format("{0:dd/MM/yyyy}", a.FollowUpDate)));
                endDate   = DateTime.Parse(string.Format("{0} 08:05 AM", string.Format("{0:dd/MM/yyyy}", a.FollowUpDate)));
            }

            string urlPort     = (HttpContext.Current.Request.Url.IsDefaultPort) ? "":":" + HttpContext.Current.Request.Url.Port.ToString();
            string activityURL = "http://" + HttpContext.Current.Request.Url.Host + urlPort + "/ViewActivity.aspx?";

            List <string> queryStringList = new List <string>();

            if (!string.IsNullOrEmpty(Request.QueryString["cid"]))
            {
                queryStringList.Add(String.Format("cid={0}", Request.QueryString["cid"]));
            }

            if (!string.IsNullOrEmpty(Request.QueryString["oid"]))
            {
                queryStringList.Add(String.Format("oid={0}", Request.QueryString["oid"]));
            }

            if (!string.IsNullOrEmpty(Request.QueryString["aid"]))
            {
                queryStringList.Add(String.Format("aid={0}", Request.QueryString["aid"]));
            }


            activityURL += string.Join("&", queryStringList.ToArray());

            string t = "BEGIN:VCALENDAR\n" +
                       "PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN\n" +
                       "VERSION:2.0\n" +
                       "BEGIN:VEVENT\n" +
                       "DTSTART:" + startDate.ToUniversalTime().ToString("yyyyMMddTHHmmssZ") + "\n" +
                       "DTEND:" + endDate.ToUniversalTime().ToString("yyyyMMddTHHmmssZ") + "\n" +
//"LOCATION:My office\n" +
//"CATEGORIES:Business\n" +
                       "DESCRIPTION;ENCODING=QUOTED-PRINTABLE:" + Helper.CalenderUtilities.EncodeQuotedPrintable("Activity Note: " + a.ActivityNote + "\n\n" + activityURL) + "=0D=0A\n" +
                       "SUMMARY:" + subject + "\n" +
                       "PRIORITY:3\n" +
                       "END:VEVENT\n" +
                       "END:VCALENDAR";

            Response.Clear();
            Response.ContentType = "application/VCS";
            Response.AddHeader("content-disposition", "attachment; filename=\"calendar.vcs\"");
            Response.Write(t.ToString());
            Response.End();



            /*
             *
             */
        }
        private void PopulateOpportunityDetails()
        {
            bizMessage bizM = new bizMessage();
            bizSetting bizS = new bizSetting();

            bizOpportunity biz = new bizOpportunity();
            Opportunity    o;

            o = biz.GetOpportunity(Convert.ToInt32(Request.QueryString["oid"]));
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);

            if (o == null)
            {
                return;
            }

            //general
            this.txtOpportunityName.Text = o.OpportunityName;
            if (o.OpportunityDue.HasValue == true)
            {
                this.txtOpportunityDue.Text = String.Format("{0:dd/MM/yyyy}", o.OpportunityDue.Value);
            }
            this.txtIncumbentBroker.Text  = o.IncumbentBroker;
            this.txtIncumbentInsurer.Text = o.IncumbentInsurer;
            if (o.ClassificationID.HasValue == true)
            {
                this.ddlClassification.SelectedValue = o.ClassificationID.Value.ToString();
            }
            if (o.BusinessTypeID.HasValue == true)
            {
                this.ddlBusinessType.SelectedValue = o.BusinessTypeID.Value.ToString();
            }
            if (o.ContactID.HasValue == true)
            {
                this.ddlContact.SelectedValue = o.ContactID.Value.ToString();
            }
            this.ddlFlagged.SelectedValue = o.Flagged.ToString();
            if (o.NetBrokerageEstimated.HasValue == true)
            {
                this.txtEstimatedBrokingIncome.Text = o.NetBrokerageEstimated.ToString();
            }
            if (o.NetBrokerageQuoted.HasValue == true)
            {
                this.txtNetBrokerageQuoted.Text = o.NetBrokerageQuoted.ToString();
            }
            if (o.NetBrokerageActual.HasValue == true)
            {
                this.txtNetBrokerageActual.Text = o.NetBrokerageActual.ToString();
            }
            if (o.DateCompleted.HasValue == true)
            {
                this.txtDateCompleted.Text = String.Format("{0:dd/MM/yyyy}", o.DateCompleted);
            }
            this.txtMemoNumber.Text = o.MemoNumber;

            //status
            List <sp_web_GetCurrentOpportunityStatusResult> s = biz.GetCurrentOpportunityStatus(o.OpportunityID);

            if (s != null)
            {
                this.lblOpportunityStatus.Text = s.First().StatusName;
            }

            //next status
            bizActivity bizA = new bizActivity();
            IList <sp_web_ListNextOpportunityStatusesResult> res = bizA.ListNextOpportunityStatuses(o.OpportunityID);

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            this.lblNextActivity.Text = "";
            foreach (sp_web_ListNextOpportunityStatusesResult r in res)
            {
                this.lblNextActivity.Text += r.StatusName + ",";
            }
            char[] charsToTrim = { ',' };
            this.lblNextActivity.Text.TrimEnd(charsToTrim);
            if (biz.IsOpportunityCompleted(o.OpportunityID) == true)
            {
                this.lblNextActivity.Text = "None - Opportunity has been completed";
            }

            //audit
            ((Main)Master).HeaderDetails = "Opportunity added by "
                                           + bizActiveDirectory.GetUserFullName(o.AddedBy)
                                           + " (" + string.Format("{0:dd-MMM-yy}", o.Added) + ")";

            if (o.Modified.HasValue == true)
            {
                ((Main)Master).HeaderDetails += " / modified by "
                                                + bizActiveDirectory.GetUserFullName(o.ModifiedBy)
                                                + " (" + string.Format("{0:dd-MMM-yy}", o.Modified.Value) + ")";
            }

            ////buttons
            //this.btnSave.Enabled = !o.Inactive;
            ////controls
            //this.txtOpportunityName.Enabled = !o.Inactive;
            //this.txtOpportunityDue.Enabled = !o.Inactive;
            //this.btnOpportunityDue.Enabled = !o.Inactive;
            //this.txtIncumbentBroker.Enabled = !o.Inactive;
            //this.txtIncumbentInsurer.Enabled = !o.Inactive;
            //this.ddlClassification.Enabled = !o.Inactive;
            //this.txtNetBrokerageQuoted.Enabled = !o.Inactive;
            //this.txtNetBrokerageActual.Enabled = !o.Inactive;
            //this.txtDateCompleted.Enabled = !o.Inactive;
            //this.btnDateCompleted.Enabled = !o.Inactive;
            //this.txtMemoNumber.Enabled = !o.Inactive;
        }
Пример #15
0
        protected void SetReminder()
        {
            bizClient biz = new bizClient();
            Client    c;

            c = biz.GetClient(int.Parse(Request.QueryString["cid"]));

            bizOpportunity biz2 = new bizOpportunity();
            Opportunity    o;

            o = biz2.GetOpportunity(int.Parse(Request.QueryString["oid"]));

            bizActivity biz3 = new bizActivity();
            Activity    a;

            a = biz3.GetActivity(int.Parse(Request.QueryString["aid"]));

            string subject = string.Format("Client Follow-up: {0}, {1} - {2}", c.ClientName, o.OpportunityName, a.Status.StatusName);

            //To do - set this to the name of the activity.

            DateTime startDate = DateTime.MinValue;
            DateTime endDate   = DateTime.MinValue;

            if (a.FollowUpDate != null)
            {
                startDate = DateTime.Parse(string.Format("{0} 08:00 AM", string.Format("{0:dd/MM/yyyy}", a.FollowUpDate)));
                endDate   = DateTime.Parse(string.Format("{0} 08:05 AM", string.Format("{0:dd/MM/yyyy}", a.FollowUpDate)));
            }

            string urlPort     = (HttpContext.Current.Request.Url.IsDefaultPort) ? "" : ":" + HttpContext.Current.Request.Url.Port.ToString();
            string activityURL = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Path).Replace(Request.Url.Segments[Request.Url.Segments.Length - 1], "") + "ViewOpportunity.aspx?";

            List <string> queryStringList = new List <string>();

            if (!string.IsNullOrEmpty(Request.QueryString["cid"]))
            {
                queryStringList.Add(String.Format("cid={0}", Request.QueryString["cid"]));
            }

            if (!string.IsNullOrEmpty(Request.QueryString["oid"]))
            {
                queryStringList.Add(String.Format("oid={0}", Request.QueryString["oid"]));
            }

            queryStringList.Add(String.Format("aid={0}", Request.QueryString["aid"]));



            activityURL += string.Join("&", queryStringList.ToArray());
            var htmltab        = @"&nbsp\;";
            var opportunityDue = ((a.Opportunity.OpportunityDue.HasValue) ? @"<br><B>Renewal Date :</B> " + htmltab + a.Opportunity.OpportunityDue.Value.ToString("dd/MM/yyyy") + "<br>" : "<br>");

            string t = "BEGIN:VCALENDAR\n" +
                       "PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN\n" +
                       "VERSION:2.0\n" +
                       "BEGIN:VEVENT\n" +
                       "DTSTART:" + startDate.ToUniversalTime().ToString("yyyyMMddTHHmmssZ") + "\n" +
                       "DTEND:" + endDate.ToUniversalTime().ToString("yyyyMMddTHHmmssZ") + "\n" +
                       //"LOCATION:My office\n" +
                       //"CATEGORIES:Business\n" +
                       "DESCRIPTION;ENCODING=QUOTED-PRINTABLE:" + Helper.CalenderUtilities.EncodeQuotedPrintable("Currently at:" + a.Status.StatusName + "\n" +
                                                                                                                 ((a.Opportunity.OpportunityDue.HasValue) ? "Renewal Date : " + a.Opportunity.OpportunityDue.Value.ToString("dd/MM/yyyy") + "\n" : "") +
                                                                                                                 "Activity Note: " + a.ActivityNote + "\n\n" + activityURL) + "=0D=0A\n" +
                       "SUMMARY:" + subject + "\n" +
                       "PRIORITY:0\n" +
                       "X-ALT-DESC;FMTTYPE=text/html:" + @"<!DOCTYPE HTML PUBLIC \""-//W3C//DTD HTML 3.2//EN\"">\n<HTML>\n<HEAD>\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n" +
                       "<b>Currently at:</b> " + htmltab + a.Status.StatusName +
                       opportunityDue +
                       @"<br><b>Activity Note:</b> " + htmltab + a.ActivityNote + "<br><br>" + "<A HREF=\"" + HttpUtility.UrlEncode(activityURL) + "\">" + activityURL + "</A>" + "<br>" + "</BODY>\n</HTML> " +
                       "X-MICROSOFT-CDO-BUSYSTATUS:FREE" +
                       "TRIGGER:-PT15M" +
                       "END:VEVENT" +
                       "END:VCALENDAR";

            var tempPage = new Page();

            Response.Clear();
            Response.ContentType = "application/VCS";
            Response.AddHeader("content-disposition", "attachment; filename=\"calendar.vcs\"");
            Response.Write(t.ToString());
            Response.Flush();
            // Response.End();
        }
Пример #16
0
        private void PopulateFollowUps()
        {
            var bizM = new bizMessage();

            if (Session["USER"] == null)
            {
                ucMessanger1.ProcessMessage("Session: " + bizM.GetMessageText("SessionMissing"), Enums.enMsgType.Err, "",
                                            null, true);
                return;
            }
            var user = (bizUser.enGageUser)Session["USER"];

            var biz = new bizActivity();

            bool isRegion, isBranch, isAll;

            isRegion = isBranch = isAll = false;
            GridUtilities.SetUserAllowedOpportunities(user, ref isRegion, ref isBranch, ref isAll);

            var d1 = biz.GetFollowUps(ddlFilterExcutives.SelectedValue, int.Parse(ddlOAMPSIncome.SelectedValue),
                                      int.Parse(ddlBusinessType.SelectedValue), int.Parse(ddlFlagged.SelectedValue), "Recognise",
                                      ddlFilterRegion.SelectedValue, ddlFilterBranch.SelectedValue, isAll);
            var d2 = biz.GetFollowUps(ddlFilterExcutives.SelectedValue, int.Parse(ddlOAMPSIncome.SelectedValue),
                                      int.Parse(ddlBusinessType.SelectedValue), int.Parse(ddlFlagged.SelectedValue), "Qualify",
                                      ddlFilterRegion.SelectedValue, ddlFilterBranch.SelectedValue, isAll);
            var d3 = biz.GetFollowUps(ddlFilterExcutives.SelectedValue, int.Parse(ddlOAMPSIncome.SelectedValue),
                                      int.Parse(ddlBusinessType.SelectedValue), int.Parse(ddlFlagged.SelectedValue), "Contact",
                                      ddlFilterRegion.SelectedValue, ddlFilterBranch.SelectedValue, isAll);
            var d4 = biz.GetFollowUps(ddlFilterExcutives.SelectedValue, int.Parse(ddlOAMPSIncome.SelectedValue),
                                      int.Parse(ddlBusinessType.SelectedValue), int.Parse(ddlFlagged.SelectedValue), "Discover",
                                      ddlFilterRegion.SelectedValue, ddlFilterBranch.SelectedValue, isAll);
            var d5 = biz.GetFollowUps(ddlFilterExcutives.SelectedValue, int.Parse(ddlOAMPSIncome.SelectedValue),
                                      int.Parse(ddlBusinessType.SelectedValue), int.Parse(ddlFlagged.SelectedValue), "Respond",
                                      ddlFilterRegion.SelectedValue, ddlFilterBranch.SelectedValue, isAll);
            var d6 = biz.GetFollowUps(ddlFilterExcutives.SelectedValue, int.Parse(ddlOAMPSIncome.SelectedValue),
                                      int.Parse(ddlBusinessType.SelectedValue), int.Parse(ddlFlagged.SelectedValue), "Agree",
                                      ddlFilterRegion.SelectedValue, ddlFilterBranch.SelectedValue, isAll);
            var d7 = biz.GetFollowUps(ddlFilterExcutives.SelectedValue, int.Parse(ddlOAMPSIncome.SelectedValue),
                                      int.Parse(ddlBusinessType.SelectedValue), int.Parse(ddlFlagged.SelectedValue), "Process",
                                      ddlFilterRegion.SelectedValue, ddlFilterBranch.SelectedValue, isAll);


            _allIdentify =
                d1.Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();
            _allQualify =
                d2.Concat(d1)
                .Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate)
                .ToList();
            _allRespond =
                d3.Concat(d4)
                .Concat(d5)
                .Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate)
                .ToList();
            _allComplete =
                d6.Concat(d7)
                .Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate)
                .ToList();

            // get the summary matrix for opprtunities
            decimal?estimated = 0, quoted = 0, actual = 0;
            int?    noOfOpportunities = 0;

            estimated = _allQualify.Sum(x => (x.NetBrokerageEstimated.HasValue) ? x.NetBrokerageEstimated : 0);
            quoted    = _allRespond.Sum(x => (x.NetBrokerageQuoted.HasValue) ? x.NetBrokerageQuoted : 0);
            actual    = _allComplete.Sum(x => (x.NetBrokerageActual.HasValue) ? x.NetBrokerageActual : 0);


            //biz.FollowUpsMatrix(user.UserName, string.Join(",", new string[] { Enums.ActivityActions.Qualify.ToString(), Enums.ActivityActions.Recognise.ToString() }),false,CalenderUtilities.CutOffDate, ref noOfOpportunities, ref estimated, ref quoted, ref actual);
            setFollowUpMatrix(lblQualifyMatrix, estimated, actual, _allQualify.Count,
                              Enums.ActivityActions.Qualify.ToString());

            //biz.FollowUpsMatrix(user.UserName, string.Join(",", new string[] { Enums.ActivityActions.Contact.ToString(), Enums.ActivityActions.Discover.ToString(), Enums.ActivityActions.Respond.ToString() }),false,CalenderUtilities.CutOffDate, ref noOfOpportunities, ref estimated, ref quoted, ref actual);
            setFollowUpMatrix(lblRespondMatrix, quoted, actual, _allRespond.Count,
                              Enums.ActivityActions.Contact.ToString());

            //biz.FollowUpsMatrix(user.UserName, string.Join(",", new string[] { Enums.ActivityActions.Agree.ToString(), Enums.ActivityActions.Process.ToString() }),false,CalenderUtilities.CutOffDate, ref noOfOpportunities, ref estimated, ref quoted, ref actual);
            setFollowUpMatrix(lblCompleteMatrix, quoted, actual, _allComplete.Count,
                              Enums.ActivityActions.Agree.ToString());


            //this.grvIdentified.DataSource = allIdentify;
            //this.ucMessanger1.ProcessMessages(biz.MSGS, true);
            //this.grvIdentified.DataBind();

            grvQualifiedIn.DataSource = _allQualify;
            ucMessanger1.ProcessMessages(biz.MSGS, true);
            grvQualifiedIn.DataBind();

            grvInterested.DataSource = _allRespond;
            ucMessanger1.ProcessMessages(biz.MSGS, true);
            grvInterested.DataBind();

            grvAccepted.DataSource = _allComplete;
            ucMessanger1.ProcessMessages(biz.MSGS, true);
            grvAccepted.DataBind();


            // combine all results to have a filtered summery for the week
            var allFollowups =
                d1.Concat(d2)
                .Concat(d3)
                .Concat(d4)
                .Concat(d5)
                .Concat(d6)
                .Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate)
                .ToList();

            ;
            var weekStartDate           = (DateTime.Now.AddDays(-(DateTime.Now.DayOfWeek - DayOfWeek.Monday)));
            var weekEndDate             = weekStartDate.AddDays(6);
            var weeklyFilteredFollowUps = allFollowups.Where(x =>
            {
                return(((x.FollowUpDate.HasValue)
                    ? (x.FollowUpDate.Value.Date >= weekStartDate.Date &&
                       x.FollowUpDate.Value.Date <= weekEndDate.Date)
                    : false)
                       ||
                       ((x.OpportunityDue.HasValue)
                           ? DateTime.Now.Date >= x.OpportunityDue.Value.Date
                           : false
                       )
                       );
            }).ToList();

            grvSummary.DataSource = weeklyFilteredFollowUps;
            ucMessanger1.ProcessMessages(biz.MSGS, true);
            grvSummary.DataBind();

            // change the way the gridview displays the header
            AlterGridRendering(grvSummary);
            AlterGridRendering(grvQualifiedIn);
            AlterGridRendering(grvInterested);
            AlterGridRendering(grvAccepted);


            if (weeklyFilteredFollowUps.Count() <= grvSummary.PageSize)
            {
                lnkSeeAll0.Enabled = false;
            }
            else
            {
                lnkSeeAll0.Enabled = true;
            }
            lblQualifiedIn.Text = "Qualifying"; // + _allQualify.Count.ToString() + " active)";
            lnkSeeAll2.Enabled  = true;
            lblInterested.Text  = "Responding"; // + _allRespond.Count.ToString() + " active)";
            lnkSeeAll3.Enabled  = true;
            lblAccepted.Text    = "Completing"; // + _allComplete.Count.ToString() + " active)";
            lnkSeeAll6.Enabled  = true;
        }
Пример #17
0
        private void PopulateActivityDetails()
        {
            bizMessage  bizM = new bizMessage();
            bizSetting  bizS = new bizSetting();
            bizActivity biz  = new bizActivity();

            Activity a;

            a = biz.GetActivity(Convert.ToInt32(Request.QueryString["aid"]));
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);

            if (a == null)
            {
                return;
            }

            //general
            this.lblActivityStatus.Text = a.Status.StatusName;
            this.hidStatusID.Value      = a.OpportunityStatusID.ToString();
            this.txtActivityNote.Text   = a.ActivityNote;
            this.txtFollowUpDate.Text   = string.Format("{0:dd/MM/yyyy}", a.FollowUpDate);
            if (a.ContactID.HasValue == true)
            {
                this.ddlContact.SelectedValue = a.ContactID.ToString();
            }

            //audit
            ((Main)Master).HeaderDetails = "Activity added by "
                                           + bizActiveDirectory.GetUserFullName(a.AddedBy)
                                           + " (" + string.Format("{0:dd-MMM-yy}", a.Added) + ")";

            if (a.Modified.HasValue == true)
            {
                ((Main)Master).HeaderDetails += " / modified by "
                                                + bizActiveDirectory.GetUserFullName(a.ModifiedBy)
                                                + " (" + string.Format("{0:dd-MMM-yy}", a.Modified.Value) + ")";
            }

            ////inactive
            //if (a.Inactive == true)
            //{
            //    //general
            //    this.ddlOpportunityStatus.Enabled = false;
            //    this.txtActivityNote.Enabled = false;
            //    this.txtFollowUpDate.Enabled = false;
            //    this.btnFollowUpDate.Enabled = false;
            //    this.txtFollowUpNote.Enabled = false;
            //    //additional
            //    this.txtIncumbentBroker.Enabled = false;
            //    this.txtIncumbentInsurer.Enabled = false;
            //    this.ddlClassification.Enabled = false;
            //    this.txtNetBrokerageQuoted.Enabled = false;
            //    this.txtNetBrokerageActual.Enabled = false;
            //    this.txtDateCompleted.Enabled = false;
            //    this.btnDateCompleted.Enabled = false;
            //    this.txtMemoNumber.Enabled = false;
            //    this.txtClientCode.Enabled = false;
            //    //buttons
            //    this.btnSave.Enabled = false;
            //}
        }
Пример #18
0
        private void PopulateFollowUps()
        {
            bizMessage bizM = new bizMessage();

            if (Session["USER"] == null)
            {
                this.ucMessanger1.ProcessMessage("Session: " + bizM.GetMessageText("SessionMissing"), Enums.enMsgType.Err, "", null, true);
                return;
            }
            bizUser.enGageUser user = (bizUser.enGageUser)Session["USER"];

            bizActivity biz = new bizActivity();
            var         u   = bizUser.GetAccountExecutiveIdBySmiUserName(ddlExecutive.SelectedValue);
            List <sp_web_FollowUpsResult> d1 = biz.GetFollowUps(u, int.Parse(this.ddlOAMPSIncome.SelectedValue), int.Parse(this.ddlBusinessType.SelectedValue), int.Parse(this.ddlFlagged.SelectedValue), string.Join(",", new string[] { Enums.ActivityActions.Qualify.ToString(), Enums.ActivityActions.Recognise.ToString() }), ddlRegion.SelectedValue, ddlBranch.SelectedValue, false);
            List <sp_web_FollowUpsResult> d2 = biz.GetFollowUps(u, int.Parse(this.ddlOAMPSIncome.SelectedValue), int.Parse(this.ddlBusinessType.SelectedValue), int.Parse(this.ddlFlagged.SelectedValue), string.Join(",", new string[] { Enums.ActivityActions.Contact.ToString(), Enums.ActivityActions.Discover.ToString(), Enums.ActivityActions.Respond.ToString() }), ddlRegion.SelectedValue, ddlBranch.SelectedValue, false);
            List <sp_web_FollowUpsResult> d3 = biz.GetFollowUps(u, int.Parse(this.ddlOAMPSIncome.SelectedValue), int.Parse(this.ddlBusinessType.SelectedValue), int.Parse(this.ddlFlagged.SelectedValue), string.Join(",", new string[] { Enums.ActivityActions.Agree.ToString(), Enums.ActivityActions.Process.ToString() }), ddlRegion.SelectedValue, ddlBranch.SelectedValue, false);

            //_allIdentify = d1.Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();
            _allQualify  = d1.Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();
            _allRespond  = d2.Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();
            _allComplete = d3.Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();

            estimated = _allQualify.Sum(x => (x.NetBrokerageEstimated.HasValue) ? x.NetBrokerageEstimated : 0);
            quoted    = _allRespond.Sum(x => (x.NetBrokerageQuoted.HasValue) ? x.NetBrokerageQuoted : 0);
            actual    = _allComplete.Sum(x => (x.NetBrokerageActual.HasValue) ? x.NetBrokerageActual : 0);

            this.ucMessanger1.ProcessMessages(biz.MSGS, true);
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);


            // combine all results to have a filtered summery for the week
            var allFollowups            = _allQualify.Concat(_allRespond).Concat(_allComplete).Where(x => x.OutcomeType != "C" && x.FollowUpDate >= CalenderUtilities.CutOffDate).ToList();;
            var weekStartDate           = (DateTime.Now.AddDays(-(DateTime.Now.DayOfWeek - DayOfWeek.Monday)));
            var weekEndDate             = weekStartDate.AddDays(6);
            var weeklyFilteredFollowUps = allFollowups.Where(x =>
            {
                return(((x.FollowUpDate.HasValue) ?
                        (x.FollowUpDate.Value.Date >= weekStartDate.Date &&
                         x.FollowUpDate.Value.Date <= weekEndDate.Date) : false)

                       ||
                       ((x.OpportunityDue.HasValue) ?
                        DateTime.Now.Date >= x.OpportunityDue.Value.Date : false
                       )
                       );
            }).ToList();

            this.grvSummary.DataSource = weeklyFilteredFollowUps;
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);
            this.grvSummary.DataBind();

            // change the way the gridview displays the header
            AlterGridRendering(grvSummary);

            if (weeklyFilteredFollowUps.Count() <= this.grvSummary.PageSize)
            {
                this.lnkSeeAll0.Enabled = false;
            }
            else
            {
                this.lnkSeeAll0.Enabled = true;
            }
        }
Пример #19
0
        private void PopulateActivityDetails()
        {
            bizMessage  bizM = new bizMessage();
            bizSetting  bizS = new bizSetting();
            bizActivity biz  = new bizActivity();

            Activity a;

            a = biz.GetActivity(Convert.ToInt32(Request.QueryString["aid"]));
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);

            if (a == null)
            {
                return;
            }

            this.lblActivityStatus.Text = a.Status.StatusName;
            this.lblActivityNote.Text   = a.ActivityNote.Replace("\n", "<br />");
            this.lblFollowUpDate.Text   = string.Format("{0:dd-MMM-yy}", a.FollowUpDate);
            if (a.ContactID.HasValue == true)
            {
                this.lblContact.Text = a.Contact.ContactName;
            }

            ((Main)Master).HeaderDetails = "Activity added by "
                                           + bizActiveDirectory.GetUserFullName(a.AddedBy)
                                           + " (" + string.Format("{0:dd-MMM-yy}", a.Added) + ")";

            if (a.Modified.HasValue == true)
            {
                ((Main)Master).HeaderDetails += " / modified by "
                                                + bizActiveDirectory.GetUserFullName(a.ModifiedBy)
                                                + " (" + string.Format("{0:dd-MMM-yy}", a.Modified.Value) + ")";
            }

            //inactive
            if (a.Inactive == true)
            {
                this.tblActivity.Disabled    = true;
                this.btnInactivate.Visible   = false;
                this.btnSendEmail.Visible    = false;
                this.btnAddActivity.Visible  = false;
                this.btnEditActivity.Visible = false;
            }
            else
            {
                if (biz.GetInitialStatus().StatusID == a.OpportunityStatusID)
                {
                    this.btnInactivate.Visible = false;
                }

                if (this.lblOpportunityStatus.Text != this.lblActivityStatus.Text)
                {
                    this.btnInactivate.Visible = false;
                }

                this.btnSendEmail.Visible = a.ContactID.HasValue;
                if (a.ContactID.HasValue == true)
                {
                    if (a.Contact.Email != "")
                    {
                        this.btnSendEmail.OnClientClick = "javascript:location.href='mailto:" + a.Contact.Email + "'";
                    }
                }
            }
        }