Beispiel #1
0
        ///<summary>Returns number of subscribers affected.  Can throw an exception if user clicks cancel in a note box.</summary>
        private static int ProcessTrojanPlan(string trojanPlan, bool updateBenefits, bool updateNoteAutomatic)
        {
            TrojanObject troj    = ProcessTextToObject(trojanPlan);
            Carrier      carrier = new Carrier();

            carrier.Phone       = troj.ELIGPHONE;
            carrier.ElectID     = troj.PAYERID;
            carrier.CarrierName = troj.MAILTO;
            carrier.Address     = troj.MAILTOST;
            carrier.City        = troj.MAILCITYONLY;
            carrier.State       = troj.MAILSTATEONLY;
            carrier.Zip         = troj.MAILZIPONLY;
            carrier.NoSendElect = false;          //regardless of what Trojan says.  Nobody sends paper anymore.
            if (carrier.CarrierName == null || carrier.CarrierName == "")
            {
                //if, for some reason, carrier is absent from the file, we can't do a thing with it.
                return(0);
            }
            carrier = Carriers.GetIdentical(carrier);
            //now, save this all to the database.
            troj.CarrierNum = carrier.CarrierNum;
            InsPlan plan = TrojanQueries.GetPlanWithTrojanID(troj.TROJANID);

            if (plan == null)
            {
                return(0);
            }
            TrojanQueries.UpdatePlan(troj, plan.PlanNum, updateBenefits);
            plan = InsPlans.RefreshOne(plan.PlanNum);
            InsPlan planOld = plan.Copy();

            if (updateNoteAutomatic)
            {
                if (plan.PlanNote != troj.PlanNote)
                {
                    plan.PlanNote = troj.PlanNote;
                    InsPlans.Update(plan, planOld);
                }
            }
            else
            {
                //let user pick note
                if (plan.PlanNote != troj.PlanNote)
                {
                    string[] notes = new string[2];
                    notes[0] = plan.PlanNote;
                    notes[1] = troj.PlanNote;
                    FormNotePick FormN = new FormNotePick(notes);
                    FormN.ShowDialog();
                    if (FormN.DialogResult == DialogResult.OK)
                    {
                        if (plan.PlanNote != FormN.SelectedNote)
                        {
                            plan.PlanNote = FormN.SelectedNote;
                            InsPlans.Update(plan, planOld);
                        }
                    }
                }
            }
            return(1);
        }