public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Timecard          timecard = timecardService.GetById((int)id);
            TimecardViewModel vm       = new TimecardViewModel();

            vm.ApprovalStatus    = timecard.ApprovalStatus;
            vm.WeekEnding        = timecard.WeekEnding;
            vm.JobCode           = timecard.JobCode;
            vm.CustomerCode      = timecard.CustomerCode;
            vm.TotalHours        = timecard.TotalHours;
            vm.TotalMiles        = timecard.TotalMiles;
            vm.EmployeeName      = timecard.EmployeeName;
            vm.TimecardId        = timecard.Id;
            vm.TotalRegular      = timecard.TotalRegular;
            vm.TimecardSubmitted = timecard.TimecardSubmitted;
            vm.EmployeeId        = timecard.EmployeeID;
            vm.TimeEntries       = timecardService.GetTimecardEntries(timecard.Id).OrderBy(w => w.WorkDate).ToList();
            vm.Adjustments       = timecardService.GetTimecardAdjustments(timecard.Id).OrderByDescending(a => a.AdjustmentDate).ToList();
            vm.HasAdjustments    = vm.Adjustments.Count > 0 ? true : false;
            for (int i = 0; i < vm.TimeEntries.Count; i++)
            {
                vm.StartMiles = vm.TimeEntries[i].StartMiles;
                vm.EndMiles   = vm.TimeEntries[i].EndMiles;
            }
            if (timecard == null)
            {
                return(HttpNotFound());
            }
            return(View(vm));
        }
        public ActionResult Edit(TimecardViewModel vm, string submit)
        {
            Guid      userId   = new Guid(User.Identity.GetUserId());
            var       timecard = timecardService.GetById(vm.TimecardId);
            Applicant employee = timecardService.GetEmployeeByTimecardId(timecard);

            if (submit == "Approve")
            {
                //EmailTemplate template = SendGridEmailService.GetEmailTemplate("Timecard Approved");
                string path = string.Empty;
                //if (template.Active)
                //{
                //    if (!string.IsNullOrWhiteSpace(employee.Email))
                //    {
                //        SendGridEmailService.SendEmail(template, employee.Email, userId.ToString(), employee.FirstName, employee.LastName, "", path);
                //    }
                //    if (!string.IsNullOrWhiteSpace(employee.CellPhone))
                //    {
                //        SMSService.SendSMS(template, employee.CellPhone, userId.ToString(), null);
                //    }
                //}
                timecard.ApprovalStatus = "Approved";
                timecard.Approved       = true;
                timecard.ApprovedDate   = DateTime.Now;
            }
            else if (submit == "Reject")
            {
                timecard.ApprovalStatus   = "Rejected";
                timecard.Approved         = false;
                timecard.LastRejectedDate = DateTime.Now;
                //EmailTemplate template = SendGridEmailService.GetEmailTemplate("Timecard Rejected");
                string path = string.Empty;
                //if (template.Active)
                //{
                //    if (!string.IsNullOrWhiteSpace(employee.Email))
                //    {
                //        SendGridEmailService.SendEmail(template, employee.Email, userId.ToString(), employee.FirstName, employee.LastName, "", path);
                //    }
                //    if (!string.IsNullOrWhiteSpace(employee.CellPhone))
                //    {
                //        SMSService.SendSMS(template, employee.CellPhone, userId.ToString(), null);
                //    }
                //}
            }
            if (ModelState.IsValid)
            {
                timecardService.Update(timecard);
                return(RedirectToAction("Index"));
            }
            return(View(vm));
        }
Example #3
0
        protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            string timecardIDParameter = "";

            if (NavigationContext.QueryString.TryGetValue("timecardIDParam", out timecardIDParameter))
            {
                timecardViewModel = App.AppViewModel.GetTimecardViewModel(timecardIDParameter);
                timecardViewModel.ReloadWorktasks();
                timecardViewModel.CalculateTimeForProjects();
            }

            this.DataContext = timecardViewModel;

            // Call the base method, to execute the rest of the navigation event
            base.OnNavigatedTo(e);
        }