public ActionResult Edit(int?id) { if (id == null) { return(HttpNotFound()); } var Feedback = FeedbackRepo.Find(id); vmFeedbackProperty objFeedbackProperty = new vmFeedbackProperty(); var Inductee = InducteeRepo.Find(Feedback.InducteeID); objFeedbackProperty.TrainerName = Inductee.Batch.trainer.Name; objFeedbackProperty.BatchName = Inductee.Batch.Name; objFeedbackProperty.InducteeID = Inductee.Id; objFeedbackProperty.InducteeName = Inductee.Name; var feedbacks = FeedbackRepo.GetFeedbacksForTrainee(Inductee.Id); var datesWithFeedback = feedbacks.Select(p => p.FeedbackDate).ToList(); var allDates = Inductee.Batch.BatchDates.Select((p, i) => new { date = p.BatchDate, Text = "Day " + (i + 1) + " - " + p.BatchDate.ToString("dd MMM yyyy - ddd") }).ToList(); objFeedbackProperty.BatchDates = allDates.Where(p => p.date == Feedback.FeedbackDate || !datesWithFeedback.Contains(p.date)).Select((p, i) => new SelectListItem { Value = p.date.ToString("MM/dd/yyyy"), Text = p.Text }).ToList(); objFeedbackProperty.BatchID = Inductee.BatchID; objFeedbackProperty.TrainerID = Inductee.Batch.TrainerId; objFeedbackProperty.FeedBackID = Feedback.ID; objFeedbackProperty.Date = Feedback.FeedbackDate.ToString("MM/dd/yyyy"); objFeedbackProperty.Property = Feedback.Property; return(View(objFeedbackProperty)); }
public ActionResult Edit(vmFeedbackProperty feedbackProperty) { if (ModelState.IsValid) { var Feedback = FeedbackRepo.Find(feedbackProperty.FeedBackID); PropertyModel Property = Feedback.Property; Property.CommitmentComment = feedbackProperty.Property.CommitmentComment; Property.CommitmentRating = feedbackProperty.Property.CommitmentRating; Property.CommunicationComment = feedbackProperty.Property.CommunicationComment; Property.CommunicationRating = feedbackProperty.Property.CommunicationRating; Property.DisciplineComment = feedbackProperty.Property.DisciplineComment; Property.DisciplineRating = feedbackProperty.Property.DisciplineRating; Property.EnergyComment = feedbackProperty.Property.EnergyComment; Property.EnergyRating = feedbackProperty.Property.EnergyRating; Property.FocusOnQualityComment = feedbackProperty.Property.FocusOnQualityComment; Property.FocusOnQualityRating = feedbackProperty.Property.FocusOnQualityRating; Property.OwnerShipComment = feedbackProperty.Property.OwnerShipComment; Property.OwnerShipRating = feedbackProperty.Property.OwnerShipRating; Property.PassionForClientSuccessComment = feedbackProperty.Property.PassionForClientSuccessComment; Property.PassionForClientSuccessRating = feedbackProperty.Property.PassionForClientSuccessRating; Property.TeamPlayerComment = feedbackProperty.Property.TeamPlayerComment; Property.TeamPlayerRating = feedbackProperty.Property.TeamPlayerRating; Property.TechnicalCompetencyComment = feedbackProperty.Property.TechnicalCompetencyComment; Property.TechnicalCompetencyRating = feedbackProperty.Property.TechnicalCompetencyRating; Property.TransparencyComment = feedbackProperty.Property.TransparencyComment; Property.TransparencyRating = feedbackProperty.Property.TransparencyRating; if (FeedbackRepo.UpdateProperty(Property, feedbackProperty.Date, feedbackProperty.FeedBackID) == true) { ViewData["SuccessMsg"] = "Feedback updated successfully."; } else { ViewData["ErrorMsg"] = "Failed to update feedback."; } } return(Redirect("/feedback/of/" + feedbackProperty.InducteeID)); }