Example #1
0
        private void PopulateOpportunitySummary()
        {
            bizMessage bizM = new bizMessage();

            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;

            this.lblOpportunityName.Text = o.OpportunityName;
            this.lblOpportunityDue.Text  = string.Format("{0:dd-MMM-yy}", o.OpportunityDue);

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

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

            if (o.ContactID.HasValue == true)
            {
                this.ddlContact.SelectedValue = o.ContactID.ToString();
            }
        }
Example #2
0
        private void PopulateFilters()
        {
            bizOpportunity biz = new bizOpportunity();

            // OAMPS Income
            List <Classification> cls = biz.ListClassifications();

            this.ucMessanger1.ProcessMessages(biz.MSGS, true);
            this.ddlOAMPSIncome.Items.Add(new ListItem("OAMPS Income (All)", "0"));
            foreach (Classification cl in cls)
            {
                this.ddlOAMPSIncome.Items.Add(new ListItem(cl.ClassificationName, cl.ClassificationID.ToString()));
            }

            // Business Type
            var excludedTypes = new List <string> {
                "Quick quote", "Quick win", "Quick call"
            };
            List <BusinessType> bts = biz.ListBusinessTypes().Where(x => !excludedTypes.Contains(x.BusinessTypeName)).ToList();

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            this.ddlBusinessType.Items.Add(new ListItem("Type (All)", "0"));
            foreach (BusinessType bt in bts)
            {
                this.ddlBusinessType.Items.Add(new ListItem(bt.BusinessTypeName, bt.BusinessTypeID.ToString()));
            }
        }
Example #3
0
        private void PopulateAdditionalControls()
        {
            bizMessage bizM = new bizMessage();

            bizOpportunity biz = new bizOpportunity();
            Opportunity    o   = biz.GetOpportunity(int.Parse(Request.QueryString["oid"]));

            if (o == null)
            {
                return;
            }

            this.lblIncumbentBroker.Text  = o.IncumbentBroker;
            this.lblIncumbentInsurer.Text = o.IncumbentInsurer;
            this.lblOpportunityDue2.Text  = String.Format("{0:dd-MMM-yy}", o.OpportunityDue);
            if (o.ClassificationID.HasValue == true)
            {
                this.lblClassification.Text = o.Classification.ClassificationName;
            }
            this.lblNetBrokerageQuoted.Text = string.Format("{0:C}", o.NetBrokerageQuoted);
            this.lblNetBrokerageActual.Text = string.Format("{0:C}", o.NetBrokerageActual);
            this.lblDateCompleted.Text      = String.Format("{0:dd-MMM-yy}", o.DateCompleted);
            this.lblMemoNumber.Text         = o.MemoNumber;
            this.lblClientCode.Text         = o.Client.ClientCode;
        }
        protected void btnassignSelectedOpportunities_Click(object sender, EventArgs e)
        {
            if (ddlExecutive.SelectedIndex > 0)
            {
                var user = (bizUser.enGageUser)Session["USER"];

                var AssignedToExcutiveId = ddlExecutive.SelectedValue;
                // get all selected opportunitiesids
                var selectedOpprtunityIDs =
                    selectedOpportunitiesIDs.Value.Split('#').Where(x => x.Trim() != "").Distinct();
                var opportunitiesList = string.Join(",", selectedOpprtunityIDs.ToArray());

                // assign the Oppprtunities
                var biz = new bizOpportunity();
                biz.AssignQueueOppportunitiesToExcutive(user.UserName, AssignedToExcutiveId, opportunitiesList);

                // refresh the grids
                PopulateFollowUps();
            }
            else
            {
                ucMessanger2.ProcessMessage("Please Select an Executive", Enums.enMsgType.Err, "", null, true);
                // refresh the grids
                PopulateFollowUps();
            }
        }
        private void PopulateBusinessType()
        {
            bizOpportunity      biz = new bizOpportunity();
            List <BusinessType> bts = biz.ListBusinessTypes();

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            this.ddlBusinessType.Items.Add(new ListItem("-- Please Select --", ""));
            foreach (BusinessType bt in bts)
            {
                this.ddlBusinessType.Items.Add(new ListItem(bt.BusinessTypeName, bt.BusinessTypeID.ToString()));
            }
        }
        private void SetDefaultValues()
        {
            bizOpportunity bizO = new bizOpportunity();
            Classification c    = bizO.GetClassification(int.Parse(this.ddlClassification.SelectedValue));

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

            if (c == null || this.txtOpportunityDue.Text == "")
            {
                return;
            }

            this.txtFollowUpDate.Text = string.Format("{0:dd/MM/yyyy}", DateTime.Parse(this.txtOpportunityDue.Text).AddDays(-c.FollowUpDefault * 7));
        }
Example #7
0
        private void PopulateBusinessType()
        {
            var biz = new bizOpportunity();
            var bts = biz.ListBusinessTypes();

            if (bts == null)
            {
                return;
            }

            ddlBusinessType.Items.Add(new ListItem("(All)", "0"));
            foreach (var bt in bts)
            {
                ddlBusinessType.Items.Add(new ListItem(bt.BusinessTypeName, bt.BusinessTypeID.ToString()));
            }
        }
        private void PopulateBusinessType()
        {
            bizOpportunity      biz = new bizOpportunity();
            List <BusinessType> bts = biz.ListBusinessTypes();

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            //this.ddlBusinessType.Items.Add(new ListItem("-- Please Select --", ""));

            // remove quick win and quick qoute

            bts = bts.Where(x => (x.BusinessTypeName != "Quick win" && x.BusinessTypeName != "Quick quote")).ToList();
            foreach (BusinessType bt in bts)
            {
                this.ddlBusinessType.Items.Add(new ListItem(bt.BusinessTypeName, bt.BusinessTypeID.ToString()));
            }
            //if (this.ddlBusinessType.Items.Count > 0) this.ddlBusinessType.SelectedIndex = 0;
        }
Example #9
0
 protected void btnFlagUnflag_Click(object sender, EventArgs e)
 {
     try
     {
         bizOpportunity biz = new bizOpportunity();
         if (biz.SetFlag(int.Parse(Request.QueryString["oid"]), !this.imgFlagged.Visible) == true)
         {
             PopulateOpportunityDetails();
         }
         this.ucMessanger1.ProcessMessages(biz.MSGS, true);
     }
     catch (Exception ex)
     {
         bizLog.InsertExceptionLog(ex);
         Response.Redirect("~/ErrorPage.aspx", false);
     }
 }
        private void PopulateBusinessType()
        {
            bizOpportunity      biz = new bizOpportunity();
            List <BusinessType> bts = biz.ListBusinessTypes();

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

            bts = bts.Where(x => (x.BusinessTypeName != "Quick win" && x.BusinessTypeName != "Quick quote") && x.BusinessTypeName != "Quick call").ToList();

            //this.ddlBusinessType.Items.Add(new ListItem("-- Please Select --", ""));
            foreach (BusinessType bt in bts)
            {
                this.ddlBusinessType.Items.Add(new ListItem(bt.BusinessTypeName, bt.BusinessTypeID.ToString()));
            }
            if (this.ddlBusinessType.Items.Count > 0)
            {
                this.ddlBusinessType.SelectedIndex = this.ddlBusinessType.Items.IndexOf(this.ddlBusinessType.Items.FindByText(Enums.enBusinessType.NewBusiness));
            }
        }
        private void PopulateClassification()
        {
            bizOpportunity        biz = new bizOpportunity();
            List <Classification> cls;

            cls = biz.ListClassifications();
            this.ucMessanger1.ProcessMessages(biz.MSGS, true);

            if (cls == null)
            {
                return;
            }

            this.ddlClassification.Items.Clear();
            this.ddlClassification.Items.Add(new ListItem("-- Please Select --", ""));
            foreach (Classification cl in cls)
            {
                this.ddlClassification.Items.Add(new ListItem(cl.ClassificationName, cl.ClassificationID.ToString()));
            }
        }
Example #12
0
        private void PopulateClassification()
        {
            var bizM = new bizMessage();

            var biz = new bizOpportunity();
            List <Classification> cls;

            cls = biz.ListClassifications();

            if (cls == null)
            {
                return;
            }

            ddlClassification.Items.Clear();
            ddlClassification.Items.Add(new ListItem("(All)", "0"));
            foreach (var cl in cls)
            {
                ddlClassification.Items.Add(new ListItem(cl.ClassificationName, cl.ClassificationID.ToString()));
            }
        }
        private void PopulateAdditionalControls()
        {
            bizMessage bizM = new bizMessage();

            bizOpportunity biz = new bizOpportunity();
            Opportunity    o   = biz.GetOpportunity(int.Parse(Request.QueryString["oid"]));

            if (o == null)
            {
                return;
            }

            this.txtIncumbentBroker.Text         = o.IncumbentBroker;
            this.txtIncumbentInsurer.Text        = o.IncumbentInsurer;
            this.txtOpportunityDue.Text          = String.Format("{0:dd/MM/yyyy}", o.OpportunityDue);
            this.ddlClassification.SelectedValue = o.ClassificationID.ToString();
            this.txtNetBrokerageQuoted.Text      = o.NetBrokerageQuoted.ToString();
            this.txtNetBrokerageActual.Text      = o.NetBrokerageActual.ToString();
            this.txtDateCompleted.Text           = String.Format("{0:dd/MM/yyyy}", o.DateCompleted);
            this.txtMemoNumber.Text = o.MemoNumber;
            this.txtClientCode.Text = o.Client.ClientCode;
        }
Example #14
0
        private void PopulateActivities()
        {
            bizOpportunity biz = new bizOpportunity();

            //active activities
            List <sp_web_ListOpportunityActiveActivitiesResult> aa = biz.ListOpportunityActiveActivites(int.Parse(Request.QueryString["oid"]));

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            this.grvActiveActivities.DataSource = aa;
            this.grvActiveActivities.DataBind();
            this.lblActive.Text = aa.Count.ToString();

            //inactive activities
            List <sp_web_ListOpportunityInactiveActivitiesResult> ia = biz.ListOpportunityInactiveActivites(int.Parse(Request.QueryString["oid"]));

            this.ucMessanger1.ProcessMessages(biz.MSGS, false);
            this.grvInactiveActivities.DataSource = ia;
            this.grvInactiveActivities.DataBind();
            this.lblInactive.Text = ia.Count.ToString();

            //buttons
            this.btnBack.PostBackUrl = "ViewOpportunity.aspx?cid=" + Request.QueryString["cid"] + "&oid=" + Request.QueryString["oid"];
        }
        private void PopulateFilters()
        {
            var biz = new bizOpportunity();

            // OAMPS Income
            var cls = biz.ListClassifications();

            ucMessanger1.ProcessMessages(biz.MSGS, true);
            ddlOAMPSIncome.Items.Add(new ListItem("OAMPS Income (All)", "0"));
            foreach (var cl in cls)
            {
                ddlOAMPSIncome.Items.Add(new ListItem(cl.ClassificationName, cl.ClassificationID.ToString()));
            }

            // Business Type
            var bts = biz.ListBusinessTypes();

            ucMessanger1.ProcessMessages(biz.MSGS, false);
            ddlBusinessType.Items.Add(new ListItem("Type (All)", "0"));
            foreach (var bt in bts)
            {
                ddlBusinessType.Items.Add(new ListItem(bt.BusinessTypeName, bt.BusinessTypeID.ToString()));
            }
        }
        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);
        }
Example #17
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) + ")";
            }
        }
Example #18
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();



            /*
             *
             */
        }
        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();
        }
        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;
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                Opportunity    o   = new Opportunity();
                bizOpportunity biz = new bizOpportunity();

                bizMessage bizM = new bizMessage();
                DateTime   result;
                if (this.txtOpportunityDue.Text != "")
                {
                    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;
                    }
                }

                o.ClientID        = int.Parse(Request.QueryString["cid"]);
                o.OpportunityID   = int.Parse(Request.QueryString["oid"]);
                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);
                }
                o.Flagged = bool.Parse(this.ddlFlagged.SelectedValue);
                if (this.txtEstimatedBrokingIncome.Text != "")
                {
                    o.NetBrokerageEstimated = decimal.Parse(this.txtEstimatedBrokingIncome.Text);
                }
                if (this.txtNetBrokerageQuoted.Text != "")
                {
                    o.NetBrokerageQuoted = decimal.Parse(this.txtNetBrokerageQuoted.Text);
                }
                if (this.txtNetBrokerageActual.Text != "")
                {
                    o.NetBrokerageActual = decimal.Parse(this.txtNetBrokerageActual.Text);
                }
                if (this.txtDateCompleted.Text != "")
                {
                    o.DateCompleted = DateTime.Parse(this.txtDateCompleted.Text);
                }
                o.MemoNumber = this.txtMemoNumber.Text;
                //audit
                o.ModifiedBy = bizUser.GetCurrentUserName();
                o.Modified   = DateTime.Now;
                //action
                if (biz.ValidateOpportunity(o) == false)
                {
                    this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                    return;
                }
                if (biz.UpdateOpportunity(o) == true)
                {
                    Response.Redirect("ViewOpportunity.aspx?cid=" + Request.QueryString["cid"] + "&oid=" + Request.QueryString["oid"], false);
                }
                else
                {
                    this.ucMessanger1.ProcessMessages(biz.MSGS, true);
                }
            }
            catch (Exception ex)
            {
                bizLog.InsertExceptionLog(ex);
                Response.Redirect("~/ErrorPage.aspx", false);
            }
        }
        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);
        }
        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);
        }