Exemple #1
0
        public async Task <IActionResult> Edit(int id, [Bind("CaseID,Name,ScholarRequestType,ScholarCompAllowanceChange,ScholarJobProfile,JobTitle,PropTitle,CurrentFTE,ProposedFTE,EffectiveStartDate,EffectiveEndDate,StepStipendAllowance,Department,Note,BudgetNumbers")] HRServiceScholarResident hrScholar)

        {
            /** First check important fields to see if values have changed and if so add to audit log **/
            string strAudit = "Case Edited. Values updated (old,new). ";

            IQueryable <HRServiceScholarResident> beforeCases = _context.HRServiceScholarResident.Where(c => c.CaseID == id).AsNoTracking <HRServiceScholarResident>();
            HRServiceScholarResident beforeCase = beforeCases.FirstOrDefault();

            if (beforeCase == null)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                if (beforeCase.Name != hrScholar.Name)
                {
                    strAudit += "Student: (" + beforeCase.Name + "," + hrScholar.Name + ") ";
                }


                if (beforeCase.EffectiveStartDate.ToShortDateString() != hrScholar.EffectiveStartDate.ToShortDateString())
                {
                    strAudit += "StartDate: (" + beforeCase.EffectiveStartDate.ToShortDateString() + "," + hrScholar.EffectiveStartDate.ToShortDateString() + ") ";
                }
                DateTime beforeEffectDate = beforeCase.EffectiveEndDate.GetValueOrDefault();
                DateTime curEffectDate    = hrScholar.EffectiveEndDate.GetValueOrDefault();
                if (beforeEffectDate.ToShortDateString() != curEffectDate.ToShortDateString())
                {
                    strAudit += "EndDate: (" + beforeEffectDate.ToShortDateString() + "," + curEffectDate.ToShortDateString() + ") ";
                }

                /*
                 * if (beforeCase.Department.ToString() != hrGradStudent.Department.ToString())
                 * {
                 *  strAudit += "Department: (" + beforeCase.Department.ToString() + "," + hrGradStudent.Department.ToString() + ") ";
                 * }
                 * if (beforeCase.StepStipendAllowance.ToString() != hrGradStudent.StepStipendAllowance.ToString())
                 * {
                 *  strAudit += "Allowance: (" + beforeCase.StepStipendAllowance.ToString() + "," + hrGradStudent.StepStipendAllowance.ToString() + ") ";
                 * }
                 * if (beforeCase.BudgetNumbers.ToString() != hrGradStudent.BudgetNumbers.ToString())
                 * {
                 *  strAudit += "BudgetNumbers: (" + beforeCase.BudgetNumbers.ToString() + "," + hrGradStudent.BudgetNumbers.ToString() + ") ";
                 * }
                 */

                var audit = new CaseAudit {
                    AuditLog = strAudit, CaseID = id, LocalUserID = User.Identity.Name
                };
                _context.Add(audit);
                _context.Entry(hrScholar).State = EntityState.Modified;
                await _context.SaveChangesAsync();

                var cid = id;
                return(RedirectToAction("Details", "Cases", new { id = cid, area = "" }));
                //return RedirectToAction("Index", "Home");
            }
            return(View(hrScholar));
        }
Exemple #2
0
        public async Task <IActionResult> Create(int id, HRServiceScholarResident hrScholar)
        {
            if (ModelState.IsValid)
            {
                HRServiceScholarResident newCase = new HRServiceScholarResident
                {
                    CaseID                     = id,
                    Name                       = hrScholar.Name,
                    ScholarRequestType         = hrScholar.ScholarRequestType,
                    ScholarJobProfile          = hrScholar.ScholarJobProfile,
                    ScholarCompAllowanceChange = hrScholar.ScholarCompAllowanceChange,
                    EffectiveStartDate         = hrScholar.EffectiveStartDate,
                    EffectiveEndDate           = hrScholar.EffectiveEndDate,
                    CurrentFTE                 = hrScholar.CurrentFTE,
                    ProposedFTE                = hrScholar.ProposedFTE,
                    JobTitle                   = hrScholar.JobTitle,
                    PropTitle                  = hrScholar.PropTitle,
                    Department                 = hrScholar.Department,
                    StepStipendAllowance       = hrScholar.StepStipendAllowance,
                    BudgetNumbers              = hrScholar.BudgetNumbers,
                    Note                       = hrScholar.Note,
                };

                _context.Add(newCase);
                await _context.SaveChangesAsync();

                var cid = id;
                return(RedirectToAction("Details", "Cases", new { id = cid, area = "" }));
                //return RedirectToAction("Index", "Home");
            }
            return(View(hrScholar));
        }
Exemple #3
0
        public IActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            HRServiceScholarResident editCase = _context.HRServiceScholarResident.Find(id);

            if (editCase == null)
            {
                return(NotFound());
            }
            return(View(editCase));
        }
Exemple #4
0
        public async Task <IActionResult> Edit(int id, [Bind("CaseID,Name,ScholarRequestType,ScholarCompAllowanceChange,ScholarJobProfile,JobTitle,PropTitle,CurrentFTE,ProposedFTE,EffectiveStartDate,EffectiveEndDate,StepStipendAllowance,Department,Note,BudgetNumbers")] HRServiceScholarResident hrScholar)

        {
            if (id != hrScholar.CaseID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    IQueryable <HRServiceScholarResident> beforeCases = _context.HRServiceScholarResident.Where(c => c.CaseID == id).AsNoTracking <HRServiceScholarResident>();
                    HRServiceScholarResident beforeCase = beforeCases.FirstOrDefault();
                    if (beforeCase == null)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        // Creating an audit log
                        var audit = new CaseAudit {
                            AuditLog = "Case Specific Details Edited", CaseID = id, LocalUserID = User.Identity.Name
                        };
                        _context.Add(audit);
                        await _context.SaveChangesAsync();

                        // Adding old details to tracking

                        var old_details = new HRServiceScholarResidentTracking
                        {
                            Status               = "old",
                            CaseAuditID          = audit.CaseAuditID,
                            CaseID               = beforeCase.CaseID,
                            Name                 = beforeCase.Name,
                            ScholarJobProfile    = beforeCase.ScholarJobProfile,
                            ScholarRequestType   = beforeCase.ScholarRequestType,
                            EffectiveStartDate   = beforeCase.EffectiveStartDate,
                            EffectiveEndDate     = beforeCase.EffectiveEndDate,
                            Department           = beforeCase.Department,
                            StepStipendAllowance = beforeCase.StepStipendAllowance,
                            Note                 = beforeCase.Note,
                            BudgetNumbers        = beforeCase.BudgetNumbers
                        };
                        _context.Add(old_details);
                        // Adding current details to tracking
                        var new_details = new HRServiceScholarResidentTracking
                        {
                            Status               = "new",
                            CaseAuditID          = audit.CaseAuditID,
                            CaseID               = hrScholar.CaseID,
                            Name                 = hrScholar.Name,
                            ScholarRequestType   = hrScholar.ScholarRequestType,
                            EffectiveStartDate   = hrScholar.EffectiveStartDate,
                            EffectiveEndDate     = hrScholar.EffectiveEndDate,
                            Department           = hrScholar.Department,
                            ScholarJobProfile    = hrScholar.ScholarJobProfile,
                            StepStipendAllowance = hrScholar.StepStipendAllowance,
                            Note                 = hrScholar.Note,
                            BudgetNumbers        = hrScholar.BudgetNumbers
                        };
                        _context.Add(new_details);
                        // Adding current details to actual Case Type entity
                        _context.Update(hrScholar);
                        await _context.SaveChangesAsync();
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HRServiceScholarResidentExists(hrScholar.CaseID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                var cid = id;
                return(RedirectToAction("Details", "Cases", new { id = cid, area = "" }));
            }
            return(View(hrScholar));
        }