Пример #1
0
 public ActionResult SearchPost(CSJOBD cSJOBD)
 {
     Session["SearchJOBDRec"]  = cSJOBD;
     Session["SearchJOBDSort"] = Request.Params["SORTBY"] ?? "STAGEDATE";
     return(Redirect("?page=1"));
     //return Index(1);
 }
Пример #2
0
        // GET: CSJOBDs/Create
        public ActionResult Create(string id)
        {
            CSJOBD cSJOBD = new CSJOBD();

            cSJOBD.JOBNO     = MyHtmlHelpers.ConvertByteStrToId(id);
            cSJOBD.STAGETIME = "";
            cSJOBD.STAGE     = "";
            cSJOBD.STAMP     = 0;
            cSJOBD.COMPLETE  = "N";
            cSJOBD.COMPLETED = new DateTime(3000, 1, 1);

            ViewBag.CASECODE = new SelectList(db.CSCASEs.Select(x => new { CASECODE = x.CASECODE, CASEDESC = x.CASECODE + "\t | \t" + x.CASEDESC }), "CASECODE", "CASEDESC", cSJOBD.CASECODE);

            ViewBag.Title = "Add New Job Case Details ";
            ViewBag.Id    = cSJOBD.JOBNO;
            ViewBag.Row   = cSJOBD.CASENO;
            return(View("Edit", cSJOBD));
        }
Пример #3
0
        public ActionResult EditJobCase(CSBILL cSBILL)
        {
            string UseView = "Partial/EditJobCase";

            ModelState.Remove("JOBNO");
            ModelState.Remove("CASENO");
            ModelState.Remove("CASECODE");
            ModelState.Remove("JOBCASE");
            ModelState.Remove("ITEMDESC");
            ModelState.Remove("ITEMSPEC");
            ModelState.Remove("ITEMTYPE");
            ModelState.Remove("TAXRATE");
            ModelState.Remove("ITEMAMT1");
            ModelState.Remove("ITEMAMT2");
            ModelState.Remove("TAXAMT1");
            ModelState.Remove("TAXAMT2");

            //ModelState.Clear();

            CSJOBD csRec = db.CSJOBDs.Find(cSBILL.JOBNO, cSBILL.CASENO);

            if (csRec != null)
            {
                cSBILL.CASECODE = csRec.CASECODE;

                CSCASE csCase = db.CSCASEs.Find(csRec.CASECODE);
                if (csCase != null)
                {
                    cSBILL.ITEMDESC = csCase.CASEDESC;
                    cSBILL.ITEMSPEC = csRec.CASEMEMO;
                }
            }
            else
            {
                UseView          = "Partial/EditJobCaseNoJOBD";
                ViewBag.CASECODE = new SelectList(db.CSCASEs, "CASECODE", "CASEDESC", cSBILL.CASECODE);
            }


            ViewBag.TAXCODE = new SelectList(db.CSTAXTYPEs.Select(s => new { TAXCODE = s.TAXCODE, TAXDESC = s.TAXTYPE + "|" + s.TAXRCODE + "|" + s.TAXRATE.ToString() + "|" + s.EFFECTIVE_START.ToString() + "|" + s.EFFECTIVE_END.ToString() + "|" + s.TAXDESC }), "TAXCODE", "TAXDESC", cSBILL.TAXCODE);

            ViewBag.ITEMTYPE = new SelectList(db.CSITEMs, "ITEMTYPE", "ITEMDESC", cSBILL.ITEMTYPE);
            return(PartialView(UseView, cSBILL));
        }
Пример #4
0
        // GET: CSJOBDs/Details/5
        public ActionResult Details(string id, int row, int rel, int?page)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CSJOBD cSJOBD = db.CSJOBDs.Find(MyHtmlHelpers.ConvertByteStrToId(id), row);

            if (cSJOBD == null)
            {
                return(HttpNotFound());
            }

            ViewBag.CASECODE      = new SelectList(db.CSCASEs.Select(x => new { CASECODE = x.CASECODE, CASEDESC = x.CASECODE + "\t | \t" + x.CASEDESC }), "CASECODE", "CASEDESC", cSJOBD.CASECODE);
            ViewBag.Title         = "View Job Case Details ";
            ViewBag.page          = page ?? 1;
            Session["CSJOBDPage"] = page ?? 1;
            return(View("Edit", cSJOBD));
        }
Пример #5
0
        // GET: CSJOBDs called from jobstat with 2 parameters
        public ActionResult Index1(string staff, string stage)
        {
            string pSearchCode = "";
            string pSearchName = "";
            string pSearchJOBD = "";

            DateTime pSearchVdate = DateTime.Parse("01/01/0001");
            DateTime pSearchDdate = DateTime.Parse("01/01/0001");
            string   pSearchStaff = staff ?? "";
            string   pSearchStage = stage ?? "";
            CSJOBD   cSJOBD       = new CSJOBD();

            cSJOBD.STAGE             = pSearchStage;
            cSJOBD.CSJOBM            = new CSJOBM();
            cSJOBD.CSJOBM.CSCOMSTR   = new CSCOMSTR();
            cSJOBD.CSJOBM.JOBSTAFF   = pSearchStaff;
            Session["SearchJOBDRec"] = cSJOBD;

            var cSJOBDs = CurrentSelection();

            ViewBag.page          = 1;
            Session["CSJOBDPage"] = 1;
            return(View("Index", cSJOBDs.ToList().ToPagedList(1, 30)));
        }
Пример #6
0
        public ActionResult DeleteConfirmed(string id, int row, DateTime indate, string intime)
        {
            CSJOBST cSJOBST = db.CSJOBSTs.Find(MyHtmlHelpers.ConvertByteStrToId(id), row, indate, intime);
            var     histRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX);

            if (histRec.Count() == 1)
            {
                ModelState.AddModelError(String.Empty, "Cannot Remove system generated record");
            }


            CSJOBST lastRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX).FirstOrDefault();

            if (lastRec.INIDX != cSJOBST.INIDX)
            {
                ModelState.AddModelError(String.Empty, "Only the latest record can be modified");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    db.CSJOBSTs.Remove(cSJOBST);

                    // Change CSJOBD to previous state before delete

                    foreach (CSJOBST item in histRec)
                    {
                        if (item.INIDX != lastRec.INIDX)
                        {
                            lastRec = item; break;
                        }                                                           // get the previous record before last record
                    }
                    CSJOBD cSJOBD = db.CSJOBDs.Find(cSJOBST.JOBNO, cSJOBST.CASENO);
                    cSJOBD.STAGE     = lastRec.STAGETO;
                    cSJOBD.STAGEDATE = lastRec.INDATE;
                    cSJOBD.STAGETIME = lastRec.INTIME;
                    cSJOBD.STAMP     = cSJOBD.STAMP + 1;

                    db.SaveChanges();
                    return(RedirectToAction("Edit", "CSJOBDs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBST.JOBNO), row = cSJOBST.CASENO, rel = 1 }));
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            //string message = string.Format("{0}:{1}",
                            //    validationErrors.Entry.Entity.ToString(),
                            //   validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    UpdateException updateException = (UpdateException)ex.InnerException;
                    if (updateException != null)
                    {
                        if (updateException.InnerException != null)
                        {
                            var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                            foreach (var error in sqlException.Errors)
                            {
                                if (error.Message != null)
                                {
                                    ModelState.AddModelError(string.Empty, error.Message);
                                }
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
            }

            ViewBag.SENDMODE = GetSendModeList();
            ViewBag.STAGETO  = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE");
            ViewBag.Title    = "Delete Job Case Status ";
            return(View("Edit", cSJOBST));
        }
Пример #7
0
        public ActionResult Edit([Bind(Include = "JOBNO,CASENO,STAGEFR,STAGETO,INDATE,INTIME,OUTDATE,SENDMODE,REM,INIDX,STAMP")] CSJOBST cSJOBST)
        {
            CSJOBST lastRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX).FirstOrDefault();

            if (lastRec.INIDX != cSJOBST.INIDX)
            {
                ModelState.AddModelError(String.Empty, "Only the latest record can be modified");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    //Remove original record --> the way the index is designed make it necessary to remove the record and recreate
                    CSJOBST recDel = db.CSJOBSTs.Find(cSJOBST.JOBNO, cSJOBST.CASENO, cSJOBST.INDATE, cSJOBST.INTIME);
                    db.CSJOBSTs.Remove(recDel);

                    cSJOBST.STAMP = cSJOBST.STAMP + 1;
                    db.CSJOBSTs.Add(cSJOBST);

                    CSJOBD cSJOBD = db.CSJOBDs.Find(cSJOBST.JOBNO, cSJOBST.CASENO);
                    cSJOBD.STAGE     = cSJOBST.STAGETO;
                    cSJOBD.STAGEDATE = cSJOBST.INDATE;
                    cSJOBD.STAGETIME = cSJOBST.INTIME;
                    cSJOBD.STAMP     = cSJOBD.STAMP + 1;

                    db.Entry(cSJOBD).State = EntityState.Modified;

                    db.SaveChanges();
                    return(RedirectToAction("Edit", "CSJOBDs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBST.JOBNO), row = cSJOBST.CASENO, rel = 1 }));
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            //string message = string.Format("{0}:{1}",
                            //    validationErrors.Entry.Entity.ToString(),
                            //   validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    UpdateException updateException = (UpdateException)ex.InnerException;
                    if (updateException != null)
                    {
                        if (updateException.InnerException != null)
                        {
                            var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                            foreach (var error in sqlException.Errors)
                            {
                                if (error.Message != null)
                                {
                                    ModelState.AddModelError(string.Empty, error.Message);
                                }
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
                catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); }
            }
            ViewBag.SENDMODE = GetSendModeList();
            ViewBag.STAGETO  = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE");
            ViewBag.Title    = "Edit Job Case Status ";
            return(View("Edit", cSJOBST));
        }
Пример #8
0
        public ActionResult Create([Bind(Include = "JOBNO,CASENO,STAGEFR,STAGETO,INDATE,INTIME,OUTDATE,SENDMODE,REM,INIDX,STAMP")] CSJOBST cSJOBST)
        {
            if (ModelState.IsValid)
            {
                CSJOBD cSJOBD = db.CSJOBDs.Find(cSJOBST.JOBNO, cSJOBST.CASENO);
                cSJOBD.STAGE     = cSJOBST.STAGETO;
                cSJOBD.STAGEDATE = cSJOBST.INDATE;
                cSJOBD.STAGETIME = cSJOBST.INTIME;
                cSJOBD.STAMP     = cSJOBD.STAMP + 1;

                CSJOBST lastRec = db.CSJOBSTs.Where(x => x.JOBNO == cSJOBST.JOBNO && x.CASENO == cSJOBST.CASENO).OrderByDescending(x => x.INIDX).FirstOrDefault();
                if (lastRec == null)
                {
                    cSJOBST.STAGEFR = "New";
                }
                else
                {
                    cSJOBST.STAGEFR = lastRec.STAGETO;
                    lastRec.OUTDATE = cSJOBST.INDATE;
                }

                cSJOBST.STAMP = 0;
                cSJOBST.INIDX = cSJOBST.INDATE.ToString("yyyy/MM/dd") + " " + cSJOBST.INTIME;

                try
                {
                    db.CSJOBSTs.Add(cSJOBST);
                    db.Entry(cSJOBD).State = EntityState.Modified;
                    if (lastRec != null)
                    {
                        db.Entry(lastRec).State = EntityState.Modified;
                    }

                    db.SaveChanges();
                    return(RedirectToAction("Edit", "CSJOBDs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBST.JOBNO), row = cSJOBST.CASENO, rel = 1 }));
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            //string message = string.Format("{0}:{1}",
                            //    validationErrors.Entry.Entity.ToString(),
                            //   validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    UpdateException updateException = (UpdateException)ex.InnerException;
                    if (updateException != null)
                    {
                        if (updateException.InnerException != null)
                        {
                            var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                            foreach (var error in sqlException.Errors)
                            {
                                if (error.Message != null)
                                {
                                    ModelState.AddModelError(string.Empty, error.Message);
                                }
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
            }
            ViewBag.STAGETO = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE");
            ViewBag.Title   = "Edit Job Case Status ";
            return(View("Edit", cSJOBST));
        }
Пример #9
0
        public ActionResult PostConfirmed(string id, int row)
        {
            CSJOBD cSJOBD = db.CSJOBDs.Find(MyHtmlHelpers.ConvertByteStrToId(id), row);
            CSJOBM cSJOBM = db.CSJOBMs.Find(MyHtmlHelpers.ConvertByteStrToId(id));

            try

            {
                if ((cSJOBD.STAGE == "Complete") || (cSJOBD.STAGE == "Cancel"))
                {
                    cSJOBD.COMPLETE  = "Y";
                    cSJOBD.COMPLETED = DateTime.Today;
                    cSJOBD.STAMP     = cSJOBD.STAMP + 1;

                    cSJOBM.OKCNT = cSJOBM.OKCNT + 1;
                    cSJOBM.STAMP = cSJOBM.STAMP + 1;

                    db.Entry(cSJOBD).State = EntityState.Modified;
                    db.Entry(cSJOBM).State = EntityState.Modified;

                    db.SaveChanges();
                    int rel = (int)Session["CSJOBDrel"];
                    if (rel == 0)
                    {
                        return(RedirectToAction("Edit", "CSJOBMs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBD.JOBNO) }));
                    }
                    else
                    {
                        int page = (int)Session["CSJOBDPage"];
                        return(RedirectToAction("Index", "CSJOBDs", new { page = page }));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Can Only Post Completed or Cancelled Jobs");
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        //string message = string.Format("{0}:{1}",
                        //    validationErrors.Entry.Entity.ToString(),
                        //   validationError.ErrorMessage);
                        // raise a new exception nesting
                        // the current instance as InnerException
                        ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
            catch (DbUpdateException ex)
            {
                UpdateException updateException = (UpdateException)ex.InnerException;
                if (updateException != null)
                {
                    if (updateException.InnerException != null)
                    {
                        var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                        foreach (var error in sqlException.Errors)
                        {
                            if (error.Message != null)
                            {
                                ModelState.AddModelError(string.Empty, error.Message);
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, updateException.Message);
                }
            }
            catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); }


            ViewBag.Id  = cSJOBD.JOBNO;
            ViewBag.Row = cSJOBD.CASENO;

            ViewBag.CASECODE = new SelectList(db.CSCASEs.Select(x => new { CASECODE = x.CASECODE, CASEDESC = x.CASECODE + "\t | \t" + x.CASEDESC }), "CASECODE", "CASEDESC", cSJOBD.CASECODE);
            ViewBag.Title    = "Post Job Case Details ";
            ViewBag.page     = Session["CSJOBDPage"];
            return(View("Edit", cSJOBD));
        }
Пример #10
0
        public ActionResult Edit([Bind(Include = "JOBNO,CASENO,CASECODE,CASEMEMO,CASEREM,STAGE,STAGEDATE,STAGETIME,COMPLETE,COMPLETED,STAMP")] CSJOBD cSJOBD)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (string.IsNullOrEmpty(cSJOBD.STAGE))
                    {
                        cSJOBD.STAGE = "";
                    }
                    if (string.IsNullOrEmpty(cSJOBD.STAGETIME))
                    {
                        cSJOBD.STAGETIME = "";
                    }
                    cSJOBD.STAMP           = cSJOBD.STAMP + 1;
                    db.Entry(cSJOBD).State = EntityState.Modified;
                    db.SaveChanges();
                    int rel = (int)Session["CSJOBDrel"];
                    if (rel == 0)
                    {
                        return(RedirectToAction("Edit", "CSJOBMs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBD.JOBNO) }));
                    }
                    else
                    {
                        int page = (int)Session["CSJOBDPage"];
                        return(RedirectToAction("Index", "CSJOBDs", new { page = page }));
                    }
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            //string message = string.Format("{0}:{1}",
                            //    validationErrors.Entry.Entity.ToString(),
                            //   validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    UpdateException updateException = (UpdateException)ex.InnerException;
                    if (updateException != null)
                    {
                        if (updateException.InnerException != null)
                        {
                            var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                            foreach (var error in sqlException.Errors)
                            {
                                if (error.Message != null)
                                {
                                    ModelState.AddModelError(string.Empty, error.Message);
                                }
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
                catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); }
            }
            ViewBag.CASECODE = new SelectList(db.CSCASEs.Select(x => new { CASECODE = x.CASECODE, CASEDESC = x.CASECODE + "\t | \t" + x.CASEDESC }), "CASECODE", "CASEDESC", cSJOBD.CASECODE);

            return(View(cSJOBD));
        }
Пример #11
0
        public ActionResult Create([Bind(Include = "JOBNO,CASENO,CASECODE,CASEMEMO,CASEREM,STAGE,STAGEDATE,STAGETIME,COMPLETE,COMPLETED,STAMP")] CSJOBD cSJOBD)
        {
            if (ModelState.IsValid)
            {
                CSJOBD lastRec = db.CSJOBDs.Where(m => m.JOBNO == cSJOBD.JOBNO).OrderByDescending(n => n.CASENO).FirstOrDefault();
                if (lastRec == null)
                {
                    cSJOBD.CASENO = 1;
                }
                else
                {
                    cSJOBD.CASENO = lastRec.CASENO + 1;
                }
                if (string.IsNullOrEmpty(cSJOBD.STAGE))
                {
                    cSJOBD.STAGE = "";
                }
                if (string.IsNullOrEmpty(cSJOBD.STAGETIME))
                {
                    cSJOBD.STAGETIME = "";
                }
                try
                {
                    db.CSJOBDs.Add(cSJOBD);
                    db.SaveChanges();
                    return(RedirectToAction("Edit", "CSJOBMs", new { id = MyHtmlHelpers.ConvertIdToByteStr(cSJOBD.JOBNO) }));
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            //string message = string.Format("{0}:{1}",
                            //    validationErrors.Entry.Entity.ToString(),
                            //   validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            ModelState.AddModelError(validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    UpdateException updateException = (UpdateException)ex.InnerException;
                    if (updateException != null)
                    {
                        if (updateException.InnerException != null)
                        {
                            var sqlException = (FirebirdSql.Data.FirebirdClient.FbException)updateException.InnerException;

                            foreach (var error in sqlException.Errors)
                            {
                                if (error.Message != null)
                                {
                                    ModelState.AddModelError(string.Empty, error.Message);
                                }
                            }
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, updateException.Message);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, updateException.Message);
                    }
                }
            }
            ViewBag.CASECODE = new SelectList(db.CSCASEs.Select(x => new { CASECODE = x.CASECODE, CASEDESC = x.CASECODE + "\t | \t" + x.CASEDESC }), "CASECODE", "CASEDESC", cSJOBD.CASECODE);
            return(View(cSJOBD));
        }
Пример #12
0
        //[HttpGet, ActionName("SearchPost")]
        //public PartialViewResult HackSearch()
        //{
        //    return Search();
        //}


        public PartialViewResult Search()
        {
            CSJOBD searchRec = null;

            if (Session["SearchJOBDRec"] != null)
            {
                searchRec = (CSJOBD)Session["SearchJOBDRec"];
            }
            else
            {
                searchRec           = new CSJOBD();
                searchRec.STAGEDATE = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
                searchRec.DUEDATE   = searchRec.STAGEDATE.AddMonths(1);
                searchRec.DUEDATE   = searchRec.DUEDATE.AddDays(-1);
            }
            if (Session["SearchJOBDSort"] == null)
            {
                Session["SearchJOBDSort"] = "JOBNO";
            }
            ;

            List <SelectListItem> listItems = new List <SelectListItem>();

            listItems.Add(new SelectListItem
            {
                Text     = "Company Name",
                Value    = "CONAME",
                Selected = (string)Session["SearchJOBDSort"] == "CONAME"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Job #",
                Value    = "JOBNO",
                Selected = (string)Session["SearchJOBDSort"] == "JOBNO"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Job # Latest",
                Value    = "JOBNOLAST",
                Selected = (string)Session["SearchJOBDSort"] == "JOBNOLAST"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Date",
                Value    = "STAGEDATE",
                Selected = (string)Session["SearchJOBDSort"] == "STAGEDATE"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Stage",
                Value    = "STAGE",
                Selected = (string)Session["SearchJOBDSort"] == "STAGE"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Stage History",
                Value    = "STAGEHIST",
                Selected = (string)Session["SearchJOBDSort"] == "STAGEHIST"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Duration",
                Value    = "AGE",
                Selected = (string)Session["SearchJOBDSort"] == "AGE"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Staff",
                Value    = "JOBSTAFF",
                Selected = (string)Session["SearchJOBDSort"] == "JOBSTAFF"
            });

            listItems.Add(new SelectListItem
            {
                Text     = "Archive",
                Value    = "ARCHIVE",
                Selected = (string)Session["SearchJOBDSort"] == "ARCHIVE"
            });
            ViewBag.SORTBY = listItems;
            //if (Session["HKSTAFFDB"] == null)
            //{
            //    ViewBag.JOBSTAFF = new SelectList(db.HKSTAFFs.Select(x => new { STAFFCODE = x.STAFFCODE, STAFFDESC = x.STAFFDESC + " (" + x.STAFFCODE + ")" }).OrderBy(x => x.STAFFDESC), "STAFFCODE", "STAFFDESC");
            //} else
            //{
            //    ViewBag.JOBSTAFF = new SelectList(((IEnumerable<HKSTAFF>) Session["HKSTAFFDB"]).Select(x => new { STAFFCODE = x.STAFFCODE, STAFFDESC = x.STAFFDESC + " (" + x.STAFFCODE + ")" }).OrderBy(x => x.STAFFDESC), "STAFFCODE", "STAFFDESC");
            //}
            ViewBag.JOBSTAFF = new SelectList(db.HKSTAFFs.Select(x => new { STAFFCODE = x.STAFFCODE, STAFFDESC = x.STAFFDESC + " (" + x.STAFFCODE + ")" }).OrderBy(x => x.STAFFDESC), "STAFFCODE", "STAFFDESC");
            SelectList            myStages = new SelectList(db.CSSTGs.OrderBy(x => x.STAGESEQ), "STAGE", "STAGE");
            List <SelectListItem> newList  = new List <SelectListItem>();

            foreach (SelectListItem item in myStages)
            {
                newList.Add(item);
            }

            newList.Add(new SelectListItem
            {
                Text  = "Work in Progress",
                Value = "WIP",
            });


            ViewBag.STAGE = newList;
            return(PartialView("Partial/Search", searchRec));
        }
Пример #13
0
        public IQueryable <CSJOBD> CurrentSelection()
        {
            string   pSearchCode  = "";
            string   pSearchName  = "";
            string   pSearchJOBD  = "";
            string   pSearchStaff = "";
            string   pSearchStage = "";
            DateTime pSearchVdate = DateTime.Parse("01/01/0001");
            DateTime pSearchDdate = DateTime.Parse("01/01/0001");

            if (Session["SearchJOBDRec"] != null)
            {
                CSJOBD searchRec = (CSJOBD)(Session["SearchJOBDRec"]);
                pSearchCode  = searchRec.CSJOBM.CSCOMSTR.COREGNO ?? "";
                pSearchName  = searchRec.CSJOBM.CSCOMSTR.CONAME ?? "";
                pSearchVdate = searchRec.STAGEDATE;
                pSearchDdate = searchRec.DUEDATE;
                pSearchJOBD  = searchRec.JOBNO ?? "";
                pSearchStaff = searchRec.CSJOBM.JOBSTAFF ?? "";
                pSearchStage = searchRec.STAGE ?? "";
            }
            else
            { // start with current month proforma bills instead of entire list
                pSearchVdate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
                pSearchDdate = pSearchVdate.AddMonths(1);
                pSearchDdate = pSearchDdate.AddDays(-1);
            }

            IQueryable <CSJOBD> cSJOBDs = db.CSJOBDs.Include(c => c.CSJOBM);

            //if ((string)Session["SearchJOBDSort"] == "STAGEHIST")
            //{
            //    cSJOBDs = cSJOBDs.Include(d => d.CSJOBSTs);

            //    if (pSearchStage != "")
            //    {
            //        if (pSearchStage == "WIP")
            //        {
            //            cSJOBDs = cSJOBDs.Where(x => x.CSJOBSTs.Where( y =>  "Complete".Contains( y.STAGEFR  ) ) );
            //        }
            //        else
            //        {
            //            cSJOBDs = cSJOBDs.Where(x => x.STAGE == pSearchStage);
            //        }

            //    };
            //}

            if ((string)Session["SearchJOBDSort"] != "ARCHIVE")
            {
                cSJOBDs = db.CSJOBDs.Where(x => x.COMPLETE == "N");
            }
            else
            {
                cSJOBDs = db.CSJOBDs.Where(x => x.COMPLETE == "Y");
            }

            if (pSearchCode != "")
            {
                cSJOBDs = cSJOBDs.Where(x => x.CSJOBM.CSCOMSTR.COREGNO.Contains(pSearchCode.ToUpper()));
            }
            ;
            if (pSearchName != "")
            {
                cSJOBDs = cSJOBDs.Where(x => x.CSJOBM.CSCOMSTR.CONAME.Contains(pSearchName.ToUpper()));
            }
            ;
            if (pSearchStaff != "")
            {
                cSJOBDs = cSJOBDs.Where(x => x.CSJOBM.JOBSTAFF == pSearchStaff);
            }
            else
            {
                if (Session["HKSTAFFDB"] != null)
                {
                    var           staffdb = (IEnumerable <HKSTAFF>)Session["HKSTAFFDB"];
                    List <string> tt      = new List <string>();
                    foreach (HKSTAFF item in staffdb)
                    {
                        tt.Add(item.STAFFCODE);
                    }

                    cSJOBDs = cSJOBDs.Where(x => tt.Contains(x.CSJOBM.JOBSTAFF) || x.CSJOBM.JOBSTAFF == null);
                }
            };
            if (pSearchStage != "")
            {
                if (pSearchStage == "WIP")
                {
                    cSJOBDs = cSJOBDs.Where(x => x.STAGE != "Complete" && x.STAGE != "Cancel");
                }
                else
                {
                    cSJOBDs = cSJOBDs.Where(x => x.STAGE == pSearchStage);
                }
            }
            ;
            if (pSearchVdate != DateTime.Parse("01/01/0001"))
            {
                cSJOBDs = cSJOBDs.Where(x => x.STAGEDATE >= pSearchVdate);
            }
            ;
            if (pSearchDdate != DateTime.Parse("01/01/0001"))
            {
                cSJOBDs = cSJOBDs.Where(x => x.STAGEDATE <= pSearchDdate);
            }
            ;
            if (pSearchJOBD != "")
            {
                if (pSearchJOBD.Length > 8)
                {
                    cSJOBDs = cSJOBDs.Where(x => x.JOBNO == pSearchJOBD);
                }
                else
                {
                    cSJOBDs = cSJOBDs.Where(x => x.JOBNO.Contains(pSearchJOBD));
                }
            }
            ;

            if ((string)Session["SearchJOBDSort"] == "CONAME")
            {
                cSJOBDs = cSJOBDs.OrderBy(n => n.CSJOBM.CSCOMSTR.CONAME);
            }
            else if ((string)Session["SearchJOBDSort"] == "STAGEDATE")
            {
                cSJOBDs = cSJOBDs.OrderBy(n => n.STAGEDATE);
            }
            else if ((string)Session["SearchJOBDSort"] == "AGE")
            {
                cSJOBDs = cSJOBDs.OrderBy(n => n.STAGEDATE);
            }
            else if ((string)Session["SearchJOBDSort"] == "JOBNOLAST")
            {
                cSJOBDs = cSJOBDs.OrderByDescending(n => n.JOBNO);
            }
            else if ((string)Session["SearchJOBDSort"] == "STAGE")
            {
                cSJOBDs = cSJOBDs.OrderBy(n => n.STAGE);
            }
            else if ((string)Session["SearchJOBDSort"] == "JOBSTAFF")
            {
                cSJOBDs = cSJOBDs.OrderBy(n => n.CSJOBM.JOBSTAFF);
            }
            else
            {
                cSJOBDs = cSJOBDs.OrderBy(n => n.JOBNO);
            }
            DateTime rptStart = pSearchVdate;
            DateTime rptEnd   = pSearchDdate;

            ViewBag.RPT_START = rptStart.ToString("dd/MM/yyyy");
            ViewBag.RPT_END   = rptEnd.ToString("dd/MM/yyyy");
            ViewBag.SORTBy    = Session["SearchJOBDSort"];

            return(cSJOBDs);
        }