public async Task <ActionResult> Edit([Bind(Include = "ChargeScheduleId,ChargeScheduleName,Description,EffectiveDate")] ChargeScheduleViewModel
                                              chargeSchedule)
        {
            var dbChargeSchedule = await db.ChargeSchedules.FindAsync(chargeSchedule.ChargeScheduleId);

            if (dbChargeSchedule != null)
            {
                dbChargeSchedule.ChargeScheduleName = chargeSchedule.ChargeScheduleName;
                dbChargeSchedule.Description        = chargeSchedule.Description;
                dbChargeSchedule.LastEditDate       = DateTime.Now;
                dbChargeSchedule.LastEditedBy       = User.Identity.Name;
                dbChargeSchedule.EffectiveDate      = chargeSchedule.EffectiveDate;
                try
                {
                    db.Entry(dbChargeSchedule).State = EntityState.Modified;
                    await db.SaveChangesAsync();

                    TempData.Clear();
                    TempData.Add("ChargeScheduleId", dbChargeSchedule.ChargeScheduleId);
                    return(RedirectToAction("Index", "ChargeSchedules"));
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("*", ex);
                    return(View(chargeSchedule));
                }
            }
            ModelState.AddModelError("*", "Could Not Find Schedule with the stated ID");
            return(View(chargeSchedule));
        }
        public async Task <ActionResult> Create([Bind(Include = "ChargeScheduleName,Description,EffectiveDate")] ChargeScheduleViewModel chargeScheduleModel)
        {
            chargeScheduleModel.IsActive    = false;
            chargeScheduleModel.CreatedBy   = User.Identity.Name;
            chargeScheduleModel.DateCreated = DateTime.Now;
            try
            {
                chargeScheduleModel.ChargeScheduleId = IdentityGenerator.NewSequentialGuid();
                var chargeSchedule = Map <ChargeScheduleViewModel, ChargeSchedule>(chargeScheduleModel);
                db.ChargeSchedules.Add(chargeSchedule);
                await db.SaveChangesAsync();

                TempData.Clear();
                TempData.Add("ChargeScheduleId", chargeSchedule.ChargeScheduleId);
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("*", ex);
                return(View(chargeScheduleModel));
            }
        }