Ejemplo n.º 1
0
        public ActionResult Contact()
        {
            ViewBag.Message = "Address";
            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            return(View(profileRec));
        }
Ejemplo n.º 2
0
        public ActionResult Listing()
        {
            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";
            return(View(CurrentSelection()));
        }
Ejemplo n.º 3
0
        public ActionResult OutputList()
        {
            var cSCOAR = CurrentSelection();


            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";



            if ((string)Session["SearchVCSCOARSort"] == "CONAME")
            {
                return(View(cSCOAR.OrderBy(n => n.CONAME).ToList()));
            }
            else if ((string)Session["SearchVCSCOARSort"] == "CONO")
            {
                return(View(cSCOAR.OrderBy(n => n.CONO).ToList()));
            }
            else if ((string)Session["SearchVCSCOARSort"] == "TYPE")
            {
                return(View(cSCOAR.ToList().OrderBy(n => n.REMINDERTYPE).ThenBy(y => y.CONAME)));
            }
            else if ((string)Session["SearchVCSCOARSort"] == "STAFFCODE")
            {
                return(View(cSCOAR.OrderBy(n => n.STAFFCODE).ThenBy(y => y.CONAME).ToList()));
            }


            return(View(cSCOAR.ToList()));
        }
Ejemplo n.º 4
0
        public ActionResult DeleteConfirmed(string id)
        {
            SACOMP sACOMP = db.SACOMPs.Find(id);

            db.SACOMPs.Remove(sACOMP);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 5
0
        public ActionResult Listing()
        {
            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";

            return(View(db.CSTXes.OrderBy(x => x.TXCODE)));
        }
Ejemplo n.º 6
0
        public ActionResult DeleteConfirmed(string id)
        {
            SACOMP sACOMP = db.SACOMPs.Find(MyHtmlHelpers.ConvertByteStrToId(id));

            db.SACOMPs.Remove(sACOMP);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 7
0
 public ActionResult Edit([Bind(Include = "CONAME,COREGNO,COADDR1,COADDR2,COADDR3,COADDR4,COPHONE1,COPHONE2,COFAX1,COFAX2,COWEB,CTRYOPR,ACCMETHOD,STAMP")] SACOMP sACOMP)
 {
     if (ModelState.IsValid)
     {
         db.Entry(sACOMP).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(sACOMP));
 }
Ejemplo n.º 8
0
        // GET: SalesTax
        public ActionResult Index(int?page)
        {
            IEnumerable <TaxRecord> TaxRecs = CurrentSelection();

            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";

            ViewBag.Title = "Sales Tax";
            return(View(TaxRecs.ToPagedList(page ?? 1, 30)));
        }
Ejemplo n.º 9
0
        public async Task <ActionResult> EReminderList(string param)
        {
            var cSCOAGM = CurrentSelection();
            IEnumerable <V_CSCOAGM> recList = cSCOAGM.ToList();


            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";

            string paramStr = "";

            if (param != "ALL")
            {
                if (param == "FIRST")
                {
                    paramStr = "First";
                }
                else if (param == "SECOND")
                {
                    paramStr = "Second";
                }
                else if (param == "FINAL")
                {
                    paramStr = "Final";
                }
                else if (param == "SPECIAL")
                {
                    paramStr = "Special";
                }
            }

            if (paramStr != string.Empty)
            {
                recList = cSCOAGM.ToList().Where(x => x.REMINDERTYPE == paramStr);
            }

            if ((string)Session["SearchVCSCOAGMSort"] == "TYPE")
            {
                recList = cSCOAGM.ToList().OrderBy(n => n.REMINDERTYPE).ThenBy(y => y.CONAME);
            }
            var cnt = 0;

            foreach (V_CSCOAGM item in recList)
            {
                if (!string.IsNullOrEmpty(item.Email))
                {
                    V_CSCOAGM vCSCOAGM = getReminder(item.CONO);
                    cnt += await SendEmail(vCSCOAGM);
                }
            }
            return(RedirectToAction("Sent", "Home", new { cnt = cnt }));
        }
Ejemplo n.º 10
0
        // GET: SACOMPs/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SACOMP sACOMP = db.SACOMPs.Find(MyHtmlHelpers.ConvertByteStrToId(id));

            if (sACOMP == null)
            {
                return(HttpNotFound());
            }
            return(View(sACOMP));
        }
Ejemplo n.º 11
0
        // GET: SACOMPs/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SACOMP sACOMP = db.SACOMPs.Find(id);

            if (sACOMP == null)
            {
                return(HttpNotFound());
            }
            return(View(sACOMP));
        }
Ejemplo n.º 12
0
        public ActionResult Listing()
        {
            //DateTime rptStart;
            //DateTime.TryParse(Session["RPT_START"].ToString(), out rptStart);

            //DateTime rptEnd;
            //DateTime.TryParse(Session["RPT_END"].ToString(), out rptEnd);
            //ViewBag.RPT_START = rptStart.ToString("dd/MM/yyyy");
            //ViewBag.RPT_END = rptEnd.ToString("dd/MM/yyyy");

            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";

            return(View(CurrentSelection()));
        }
Ejemplo n.º 13
0
        public ActionResult Output(string param)
        {
            var cSCOAGM = CurrentSelection();


            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";

            string paramStr = "";

            if (param != "ALL")
            {
                if (param == "FIRST")
                {
                    paramStr = "First";
                }
                else if (param == "SECOND")
                {
                    paramStr = "Second";
                }
                else if (param == "FINAL")
                {
                    paramStr = "Final";
                }
                else if (param == "SPECIAL")
                {
                    paramStr = "Special";
                }
            }

            if (paramStr != string.Empty)
            {
                return(View(cSCOAGM.ToList().Where(x => x.REMINDERTYPE == paramStr)));
            }

            if ((string)Session["SearchVCSCOAGMSort"] == "TYPE")
            {
                return(View(cSCOAGM.ToList().OrderBy(n => n.REMINDERTYPE).ThenBy(y => y.CONAME)));
            }


            return(View(cSCOAGM.ToList()));
        }
Ejemplo n.º 14
0
        public CSCNM getCNote(string sid)
        {
            CSCNM cSCNM = db.CSCNMs.Find(sid);

            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";
            ViewBag.Address = profileRec.COADDR1 + " " + profileRec.COADDR2 + " " + profileRec.COADDR3 + " " + profileRec.COADDR4;
            ViewBag.Contact = "Tel: " + profileRec.COPHONE1 + " Fax: " + profileRec.COFAX1 + " E-Mail: " + profileRec.COWEB;

            ViewBag.Addr1 = "";
            ViewBag.Addr2 = "";
            if ((cSCNM.CSCOADDR != null) && (cSCNM.CSCOADDR.HKCITY != null))
            {
                ViewBag.Addr1 = cSCNM.CSCOADDR.ADDR1;
                ViewBag.Addr2 = cSCNM.CSCOADDR.ADDR2;
                ViewBag.Addr3 = cSCNM.CSCOADDR.ADDR3 + " " + cSCNM.CSCOADDR.HKCITY.CITYDESC + " " + cSCNM.CSCOADDR.POSTAL;
            }
            else
            {
                if (cSCNM.CSCOADDR != null)
                {
                    ViewBag.Addr1 = cSCNM.CSCOADDR.ADDR1;
                    ViewBag.Addr2 = cSCNM.CSCOADDR.ADDR2;
                    ViewBag.Addr3 = cSCNM.CSCOADDR.ADDR3 + " " + cSCNM.CSCOADDR.POSTAL;
                }
                else
                {
                    ViewBag.Addr3 = "";
                }
            }
            if ((cSCNM.ATTN == null) || (cSCNM.ATTN == string.Empty))
            {
                cSCNM.ATTN = "The Board of Directors";
            }

            ViewBag.StaffName = cSCNM.CSCOMSTR.HKSTAFF.STAFFDESC;
            return(cSCNM);
        }
Ejemplo n.º 15
0
        public V_CSCOAR getReminder(string sid) // Should use a ViewModel rather than using ViewBag
        {
            if (sid == null)
            {
                return(null);
            }
            V_CSCOAR v_CSCOAR = db.V_CSCOAR.Find(sid);
            CSCOADDR cSCOADDR = db.CSCOADDRs.Where(x => x.CONO == sid && x.MAILADDR == "Y").FirstOrDefault();

            if (cSCOADDR == null)
            {
                cSCOADDR = db.CSCOADDRs.Where(x => x.CONO == sid).FirstOrDefault();
            }

            if (cSCOADDR != null)
            {
                ViewBag.Addr1 = cSCOADDR.ADDR1;
                ViewBag.Addr2 = cSCOADDR.ADDR2;
                ViewBag.Addr3 = cSCOADDR.ADDR3;
                ViewBag.Addr4 = cSCOADDR.POSTAL;
                if (cSCOADDR.HKCITY != null)
                {
                    ViewBag.Addr4 = ViewBag.Addr4 + " " + cSCOADDR.HKCITY.CITYDESC;
                }
                else
                {
                    ViewBag.Addr4 = ViewBag.Addr4 + " " + cSCOADDR.CITYCODE;
                }
            }
            else
            {
                ViewBag.Addr1 = "";
                ViewBag.Addr2 = "";
                ViewBag.Addr3 = "";
                ViewBag.Addr4 = "";
            }

            string   pSearchCode    = "";
            string   pSearchName    = "";
            string   pSearchStaff   = "";
            DateTime pSearchARDate  = DateTime.Parse("01/01/0001");
            DateTime pSearchEndDate = DateTime.Parse("01/01/0001");

            if (Session["SearchVCSCOARRec"] != null)
            {
                V_CSCOAR searchRec = (V_CSCOAR)(Session["SearchVCSCOARRec"]);
                pSearchCode    = searchRec.CONO ?? "";
                pSearchName    = searchRec.CONAME ?? "";
                pSearchStaff   = searchRec.STAFFCODE ?? "";
                pSearchARDate  = searchRec.LASTAR ?? DateTime.Parse("01/01/0001");
                pSearchEndDate = pSearchARDate.AddMonths(1).AddDays(-1);
            }
            else
            {
                pSearchARDate  = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
                pSearchEndDate = pSearchARDate.AddMonths(1).AddDays(-1);
            }


            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";
            ViewBag.Address = profileRec.COADDR1 + " " + profileRec.COADDR2 + " " + profileRec.COADDR3 + " " + profileRec.COADDR4;
            ViewBag.Contact = "Tel: " + profileRec.COPHONE1 + " Fax: " + profileRec.COFAX1 + " E-Mail: " + profileRec.COWEB;


            v_CSCOAR.ReminderMonth = pSearchARDate.Month;
            v_CSCOAR.ReminderYear  = pSearchARDate.Year;
            ViewBag.ReminderDate   = v_CSCOAR.ReminderDate?.ToString("dd MMM yyyy");

            if (v_CSCOAR.ARTOFILE.HasValue)
            {
                ViewBag.AR = v_CSCOAR.ARTOFILE.Value.ToString("dd MMM yyyy");
                DateTime Deadline = v_CSCOAR.ARTOFILE.Value.AddDays(30);
                ViewBag.Deadline = Deadline.ToString("dd MMM yyyy");
            }

            int      c      = 0;
            DateTime lastar = DateTime.Parse("01/01/0001");

            if (v_CSCOAR.CReminderType == "Special")
            {
                MvcHtmlString       s      = MvcHtmlString.Create("");// MvcHtmlString.Create(ViewBag.AR);
                MvcHtmlString       t      = MvcHtmlString.Create("");
                IQueryable <CSCOAR> cSCOAR = db.CSCOARs.Where(x => x.CONO == v_CSCOAR.CONO && x.FILEDAR == null).OrderBy(y => y.ARNO);
                foreach (CSCOAR rec in cSCOAR)
                {
                    if (rec.ARTOFILE != null)
                    {
                        if (c == 0)
                        {
                            s = MvcHtmlString.Create(s + rec.ARTOFILE?.ToString("dd MMM yyyy"));
                            t = MvcHtmlString.Create(t + rec.ARTOFILE.Value.AddDays(30).ToString("dd MMM yyyy"));
                        }
                        else
                        {
                            s = MvcHtmlString.Create(s + " <br /> " + rec.ARTOFILE?.ToString("dd MMM yyyy"));
                            t = MvcHtmlString.Create(t + " <br /> " + rec.ARTOFILE.Value.AddDays(30).ToString("dd MMM yyyy"));
                        }
                        c++;

                        lastar = rec.ARTOFILE ?? DateTime.Parse("01/01/0001");
                    }
                }

                if (lastar.Year != 1) // this is to stop processing if there is no AR records
                {
                    lastar = lastar.AddYears(1);
                    while (lastar.Year <= pSearchARDate.Year)
                    {
                        if (c == 0)
                        {
                            s = MvcHtmlString.Create(s + lastar.ToString("dd MMM yyyy"));
                            t = MvcHtmlString.Create(t + lastar.AddDays(30).ToString("dd MMM yyyy"));
                        }
                        else
                        {
                            s = MvcHtmlString.Create(s + " <br /> " + lastar.ToString("dd MMM yyyy"));
                            t = MvcHtmlString.Create(t + " <br /> " + lastar.AddDays(30).ToString("dd MMM yyyy"));
                        }
                        c++;
                        if (lastar.Year >= pSearchARDate.Year)
                        {
                            break;
                        }
                        lastar = lastar.AddYears(1);
                    }
                }
                ViewBag.AR       = s;
                ViewBag.Deadline = t;
            }
            return(v_CSCOAR);
        }
Ejemplo n.º 16
0
        public CSPRF getProforma(string sid)
        {
            CSPRF cSPRF = db.CSPRFs.Find(sid);

            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";
            ViewBag.Address = profileRec.COADDR1 + " " + profileRec.COADDR2 + " " + profileRec.COADDR3 + " " + profileRec.COADDR4;
            ViewBag.Contact = "Tel: " + profileRec.COPHONE1 + " Fax: " + profileRec.COFAX1 + " E-Mail: " + profileRec.COWEB;

            var cSBILL = db.CSBILLs.Where(x => x.PRFNO == sid && x.JOBNO != "" && x.JOBNO != null).FirstOrDefault();

            if (cSBILL != null)
            {
                var cSJOB = db.CSJOBMs.Where(x => x.JOBNO == cSBILL.JOBNO).FirstOrDefault();
                ViewBag.StaffName = cSJOB.HKSTAFF.STAFFDESC;
            }
            else
            {
                ViewBag.StaffName = cSPRF.CSCOMSTR.HKSTAFF.STAFFDESC; // default to staff assigned to company
                //ViewBag.StaffName = "No Staff assigned";
            }
            ViewBag.Addr1 = "";
            ViewBag.Addr2 = "";
            if ((cSPRF.CSCOADDR != null) && (cSPRF.CSCOADDR.HKCITY != null))
            {
                ViewBag.Addr1 = cSPRF.CSCOADDR.ADDR1;
                ViewBag.Addr2 = cSPRF.CSCOADDR.ADDR2;
                ViewBag.Addr3 = cSPRF.CSCOADDR.ADDR3 + " " + cSPRF.CSCOADDR.HKCITY.CITYDESC + " " + cSPRF.CSCOADDR.POSTAL;
            }
            else
            {
                if (cSPRF.CSCOADDR != null)
                {
                    ViewBag.Addr1 = cSPRF.CSCOADDR.ADDR1;
                    ViewBag.Addr2 = cSPRF.CSCOADDR.ADDR2;
                    ViewBag.Addr3 = cSPRF.CSCOADDR.ADDR3 + " " + cSPRF.CSCOADDR.POSTAL;
                }
                else
                {
                    ViewBag.Addr3 = "";
                }
            }
            if ((cSPRF.ATTN == null) || (cSPRF.ATTN == string.Empty))
            {
                cSPRF.ATTN = "The Board of Directors";
            }

            decimal totalItem = 0;
            decimal totalTax  = 0;
            decimal reimbItem = 0;
            decimal reimbTax  = 0;

            int linecnt = 0;

            ViewBag.TaxCode    = "";
            ViewBag.TaxRate    = "";
            ViewBag.RTaxCode   = "";
            ViewBag.RTaxRate   = "";
            ViewBag.CSBILL_fee = db.CSBILLs.Where(x => x.PRFNO == sid && x.ITEMTYPE == "Fee").OrderBy(y => y.PRFID).ToList();
            foreach (CSBILL rec in ViewBag.CSBILL_fee)
            {
                totalItem = totalItem + rec.ITEMAMT;
                totalTax  = totalTax + rec.TAXAMT;
                if (rec.TAXTYPE != "")
                {
                    ViewBag.TaxCode = rec.TAXTYPE;
                }
                if (rec.TAXRATE != 0)
                {
                    ViewBag.TaxRate = rec.TAXRATE.ToString("N2") + "%";
                }
                linecnt++;
            }

            ViewBag.CSBILL_work = db.CSBILLs.Where(x => x.PRFNO == sid && x.ITEMTYPE == "Work").OrderBy(y => y.PRFID).ToList();
            foreach (CSBILL rec in ViewBag.CSBILL_work)
            {
                totalItem = totalItem + rec.ITEMAMT;
                totalTax  = totalTax + rec.TAXAMT;
                if (rec.TAXTYPE != "")
                {
                    ViewBag.TaxCode = rec.TAXTYPE;
                }
                if (rec.TAXRATE != 0)
                {
                    ViewBag.TaxRate = rec.TAXRATE.ToString("N2") + "%";
                }
                linecnt++;
            }
            ViewBag.CSBILL_disbursement = db.CSBILLs.Where(x => x.PRFNO == sid && x.ITEMTYPE == "Disbursement").OrderBy(y => y.PRFID).ToList();
            foreach (CSBILL rec in ViewBag.CSBILL_disbursement)
            {
                totalItem = totalItem + rec.ITEMAMT;
                totalTax  = totalTax + rec.TAXAMT;
                if (rec.TAXTYPE != "")
                {
                    ViewBag.TaxCode = rec.TAXTYPE;
                }
                if (rec.TAXRATE != 0)
                {
                    ViewBag.TaxRate = rec.TAXRATE.ToString("N2") + "%";
                }
                linecnt++;
            }
            ViewBag.CSBILL_reimbursement = db.CSBILLs.Where(x => x.PRFNO == sid && x.ITEMTYPE == "Reimbursement").OrderBy(y => y.PRFID).ToList();
            foreach (CSBILL rec in ViewBag.CSBILL_reimbursement)
            {
                reimbItem = reimbItem + rec.ITEMAMT;
                reimbTax  = reimbTax + rec.TAXAMT;
                if (rec.TAXTYPE != "")
                {
                    ViewBag.RTaxCode = rec.TAXTYPE;
                }
                if (rec.TAXRATE != 0)
                {
                    ViewBag.RTaxRate = rec.TAXRATE.ToString("N2") + "%";
                }
                linecnt++;
            }
            ViewBag.totalItem = totalItem.ToString("N2");
            ViewBag.totalTax  = totalTax.ToString("N2");
            ViewBag.TotalAmt  = (totalItem + totalTax).ToString("N2");
            ViewBag.reimbItem = reimbItem.ToString("N2");
            ViewBag.reimbTax  = reimbTax.ToString("N2");
            ViewBag.reimbAmt  = (reimbItem + reimbTax).ToString("N2");
            ViewBag.payable   = (totalItem + totalTax + reimbItem + reimbTax).ToString("N2");
            ViewBag.linecnt   = linecnt;
            return(cSPRF);
        }
Ejemplo n.º 17
0
        public V_CSCOAGM getReminder(string sid)
        {
            if (sid == null)
            {
                return(null);
            }
            V_CSCOAGM v_CSCOAGM = db.V_CSCOAGM.Find(sid);
            CSCOADDR  cSCOADDR  = db.CSCOADDRs.Where(x => x.CONO == sid && x.MAILADDR == "Y").FirstOrDefault();

            if (cSCOADDR == null)
            {
                cSCOADDR = db.CSCOADDRs.Where(x => x.CONO == sid).FirstOrDefault();
            }
            if (cSCOADDR != null)
            {
                ViewBag.Addr1 = cSCOADDR.ADDR1;
                ViewBag.Addr2 = cSCOADDR.ADDR2;
                ViewBag.Addr3 = cSCOADDR.ADDR3;
                ViewBag.Addr4 = cSCOADDR.POSTAL;
                if (cSCOADDR.HKCITY != null)
                {
                    ViewBag.Addr4 = ViewBag.Addr4 + " " + cSCOADDR.HKCITY.CITYDESC;
                }
                else
                {
                    ViewBag.Addr4 = ViewBag.Addr4 + " " + cSCOADDR.CITYCODE;
                }
            }
            else
            {
                ViewBag.Addr1 = "";
                ViewBag.Addr2 = "";
                ViewBag.Addr3 = "";
                ViewBag.Addr4 = "";
            }

            string   pSearchCode    = "";
            string   pSearchName    = "";
            string   pSearchStaff   = "";
            DateTime pSearchAgmDate = DateTime.Parse("01/01/0001");
            DateTime pSearchEndDate = DateTime.Parse("01/01/0001");

            if (Session["SearchVCSCOAGMRec"] != null)
            {
                V_CSCOAGM searchRec = (V_CSCOAGM)(Session["SearchVCSCOAGMRec"]);
                pSearchCode    = searchRec.CONO ?? "";
                pSearchName    = searchRec.CONAME ?? "";
                pSearchStaff   = searchRec.STAFFCODE ?? "";
                pSearchAgmDate = searchRec.AGMDATE ?? DateTime.Parse("01/01/0001");
            }
            else
            {
                pSearchAgmDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
            }
            pSearchEndDate = pSearchAgmDate.AddMonths(1).AddDays(-1);

            SACOMP profileRec = db.SACOMPs.FirstOrDefault();

            ViewBag.Company = profileRec.CONAME.ToUpper() + " (" + profileRec.COREGNO + ") ";
            ViewBag.Address = profileRec.COADDR1 + " " + profileRec.COADDR2 + " " + profileRec.COADDR3 + " " + profileRec.COADDR4;
            ViewBag.Contact = "Tel: " + profileRec.COPHONE1 + " Fax: " + profileRec.COFAX1 + " E-Mail: " + profileRec.COWEB;


            v_CSCOAGM.ReminderMonth = pSearchAgmDate.Month;
            v_CSCOAGM.ReminderYear  = pSearchAgmDate.Year;
            ViewBag.ReminderDate    = v_CSCOAGM.ReminderDate?.ToString("dd MMM yyyy");

            if (v_CSCOAGM.FYETOFILE.HasValue)
            {
                DateTime DeadlineCirculationDate = v_CSCOAGM.FYETOFILE.Value.AddMonths(6);
                if (DeadlineCirculationDate.Month < 12)
                {
                    DeadlineCirculationDate = new DateTime(DeadlineCirculationDate.Year, DeadlineCirculationDate.Month + 1, 1);
                }
                else
                {
                    DeadlineCirculationDate = new DateTime(DeadlineCirculationDate.Year + 1, DeadlineCirculationDate.Month - 12 + 1, 1);
                }
                DeadlineCirculationDate = DeadlineCirculationDate.AddDays(-1);
                DateTime DeadlineSubmissionDate = DeadlineCirculationDate.AddDays(30);
                ViewBag.Deadline1 = DeadlineCirculationDate.ToString("dd MMM yyyy");
                ViewBag.Deadline2 = DeadlineSubmissionDate.ToString("dd MMM yyyy");
                ViewBag.FYE       = v_CSCOAGM.FYETOFILE.Value.ToString("dd MMM yyyy");
            }

            int      c       = 0;
            DateTime lastfye = DateTime.Parse("01/01/0001");

            if (v_CSCOAGM.CReminderType == "Special")
            {
                MvcHtmlString        s       = MvcHtmlString.Create("");// MvcHtmlString.Create(ViewBag.FYE);
                IQueryable <CSCOAGM> cSCOAGM = db.CSCOAGMs.Where(x => x.CONO == v_CSCOAGM.CONO && x.FILEDFYE == null).OrderBy(y => y.AGMNO);
                foreach (CSCOAGM rec in cSCOAGM)
                {
                    if (rec.FYETOFILE != null)
                    {
                        if (c == 0)
                        {
                            s = MvcHtmlString.Create(s + rec.FYETOFILE?.ToString("dd MMM yyyy"));
                        }
                        else
                        {
                            s = MvcHtmlString.Create(s + " <br /> " + rec.FYETOFILE?.ToString("dd MMM yyyy"));
                        }
                        c++;

                        lastfye = rec.FYETOFILE ?? DateTime.Parse("01/01/0001");
                    }
                }

                if (lastfye.Year != 1) // this is to stop processing if there is no AGM records
                {
                    lastfye = lastfye.AddYears(1);
                    // while (lastfye.Year <= pSearchAgmDate.Year)
                    while (lastfye <= pSearchAgmDate)
                    {
                        if (c == 0)
                        {
                            s = MvcHtmlString.Create(s + lastfye.ToString("dd MMM yyyy"));
                        }
                        else
                        {
                            s = MvcHtmlString.Create(s + " <br /> " + lastfye.ToString("dd MMM yyyy"));
                        }
                        c++;
                        if (true || (lastfye.Year >= pSearchAgmDate.Year))
                        {
                            DateTime DeadlineCirculationDate = lastfye.AddMonths(6);
                            if (DeadlineCirculationDate.Month < 12)
                            {
                                DeadlineCirculationDate = new DateTime(DeadlineCirculationDate.Year, DeadlineCirculationDate.Month + 1, 1);
                            }
                            else
                            {
                                DeadlineCirculationDate = new DateTime(DeadlineCirculationDate.Year + 1, DeadlineCirculationDate.Month - 12 + 1, 1);
                            }
                            DeadlineCirculationDate = DeadlineCirculationDate.AddDays(-1);
                            DateTime DeadlineSubmissionDate = DeadlineCirculationDate.AddDays(30);
                            ViewBag.Deadline1 = DeadlineCirculationDate.ToString("dd MMM yyyy");
                            ViewBag.Deadline2 = DeadlineSubmissionDate.ToString("dd MMM yyyy");
                            //break;
                        }
                        lastfye = lastfye.AddYears(1);
                    }
                }
                ViewBag.FYE = s;
            }
            return(v_CSCOAGM);
        }