示例#1
0
        public virtual ActionResult addWorkEffort(WorkEffort workeffort)
        {
            Authentication auth = new Authentication();
            if (auth.isManager(this) || Authentication.DEBUG_bypassAuth)
            {
                if (ModelState.IsValid)
                {
                    //make sure there is an end date
                    if (workeffort.endDate == null)
                    {
                        workeffort.endDate = DateTime.MaxValue;
                    }

                    //make sure the start date is before the end date
                    if (workeffort.startDate > workeffort.endDate)
                    {
                        ViewBag.divisionList = getDivisionSelectList();
                        ViewBag.endBeforeStartFlag = true;
                        return View(workeffort);
                    }

                    //make sure it falls within it's associated PCA code's time boundaries
                    if (verifyWeTimeBounds(workeffort, workeffort.pcaCode) == true)
                    {
                        //update WorkEffort table in database
                        WorkEffortDB.WorkEffortList.Add(workeffort);
                        WorkEffortDB.SaveChanges();

                        //add the PCA_WE association to PCA_WE table
                        PCA_WE tmpPcaWe = new PCA_WE();
                        tmpPcaWe.WE = workeffort.ID;
                        tmpPcaWe.PCA = getPcaIdFromCode(workeffort.pcaCode);
                        tmpPcaWe.associationStartDate = DateTime.Now;
                        tmpPcaWe.associationEndDate = DateTime.MaxValue;
                        tmpPcaWe.active = true;
                        PCA_WEDB.PCA_WEList.Add(tmpPcaWe);
                        PCA_WEDB.SaveChanges();

                        return RedirectToAction("weManagement");
                    }
                    else
                    {
                        ViewBag.divisionList = getDivisionSelectList();
                        ViewBag.notWithinTimeBounds = true;
                        return View(workeffort);
                    }
                }
                return View("error");
            }
            else
            {
                return View("error");
            }
        }
示例#2
0
        public virtual ActionResult deletePCA_WE(PCA_WE pca_we)
        {
            Authentication auth = new Authentication();
            if (auth.isAdmin(this) || Authentication.DEBUG_bypassAuth)
            {
                //The view actually passed the PCA code instead of the ID, so set the ID to the correct value
                pca_we.PCA = getPcaIdFromCode(pca_we.PCA);
                int count = 0;

                PCA_WE tmpPcaWe = new PCA_WE();
                var searchPcaWe = from p in PCA_WEDB.PCA_WEList
                                  where p.WE == pca_we.WE
                                  where p.active == true
                                  select p;
                foreach (var item in searchPcaWe)
                {
                    //This if-statement will only be true once
                    if (item.PCA == pca_we.PCA)
                    {
                        tmpPcaWe = PCA_WEDB.PCA_WEList.Find(item.ID);
                    }
                    count++;
                }

                if (count > 1)
                {
                    //deactivate and set the end date for the PCA_WE entry
                    tmpPcaWe.active = false;
                    tmpPcaWe.associationEndDate = DateTime.Now;
                    // save changes in database
                    PCA_WEDB.Entry(tmpPcaWe).State = System.Data.EntityState.Modified;
                    PCA_WEDB.SaveChanges();
                    return RedirectToAction("weManagement", "Manager");
                }

                ViewBag.lastPcaFlag = true;
                WorkEffort we = WorkEffortDB.WorkEffortList.Find(pca_we.WE);
                ViewBag.workEffortDescription = we.description;
                ViewBag.workEffortId = we.ID;
                ViewBag.pcaList = getWePcaCodesSelectList(we);
                return View();
            }
            else
            {
                return View("error");
            }
        }
示例#3
0
 //
 /* Receives a PCA_WE object and checks if the association already exists in the
  * database. Returns TRUE if does. (note: Called by addPCA_WE() before saving the
  * PCA_WE object)
  */
 public bool checkIfDuplicatePcaWe(PCA_WE pcawe)
 {
     var searchPcaWe = from p in PCA_WEDB.PCA_WEList
                       where p.WE == pcawe.WE
                       where p.PCA == pcawe.PCA
                       where p.active == true
                       select p;
     foreach (var item in searchPcaWe)
     {
         if (item != null)
         {
             return true;
         }
     }
     return false;
 }
示例#4
0
        public virtual ActionResult addPCA_WE(PCA_WE pca_we)
        {
            Authentication auth = new Authentication();
            if (auth.isAdmin(this) || Authentication.DEBUG_bypassAuth)
            {
                //The view actually passed the PCA code instead of the ID, so set the ID to the correct value
                pca_we.PCA = getPcaIdFromCode(pca_we.PCA);

                WorkEffort effort = WorkEffortDB.WorkEffortList.Find(pca_we.WE);
                ViewBag.workEffortDescription = effort.description;
                PcaCode pcaObj = PcaCodeDB.PcaCodeList.Find(pca_we.PCA);

                //make sure it falls within it's associated PCA code's time boundaries
                if (verifyWeTimeBounds(effort, pcaObj.code) == true)
                {
                    //Make sure it's not a duplicate entry before adding to database
                    if (checkIfDuplicatePcaWe(pca_we) == false)
                    {
                        //update PCA_WE table
                        PCA_WEDB.PCA_WEList.Add(pca_we);
                        PCA_WEDB.Entry(pca_we).State = System.Data.EntityState.Added;
                        PCA_WEDB.SaveChanges();
                    }
                    return RedirectToAction("editWorkEffort", "Manager", new { id = pca_we.WE });
                }
                ViewBag.divisionList = getDivisionSelectList();
                ViewBag.workEffortId = effort.ID;
                ViewBag.outOfPcaTimeBounds = true;
                return View(pca_we);
            }
            else
            {
                return View("error");
            }
        }