public ActionResult Create([Bind(Include = "EmployeeId,FestivalId,StartDate,EndDate,Present,ReasonsAbsent")] Inspection inspection) { if (ModelState.IsValid) { db.Inspections.Add(inspection); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "Name", inspection.EmployeeId); ViewBag.FestivalId = new SelectList(db.Festivals, "Id", "Name", inspection.QuestionList.Festival.Id); return(View(inspection)); }
public HttpResponseMessage PostSimple(Question value) { // TODO save given answer by user if (value != null) { Answer model; Answer answer = null; Inspection inspection = db.Inspections.FirstOrDefault(i => i.Id == value.Index); Question question = db.Questions.FirstOrDefault(q => q.Id == value.Id); if (inspection != null) { answer = db.Answers.FirstOrDefault(q => q.Inspection.Id == inspection.Id && q.Question.Id == value.Id); } if (answer == null) { model = new Answer { Question = question, Inspection = inspection }; if (question.Type == "Tekening" || question.Type == "Bijlage") { model.Attachments = new List <Attachment> { new Attachment { FilePath = value.QuestionText } } } ; else { model.AnswerText = value.QuestionText; } db.Answers.Add(model); } else { model = answer; if (model.Attachments.Count != 0) { model.Attachments.FirstOrDefault().FilePath = value.QuestionText; } else { model.AnswerText = value.QuestionText; } db.Entry(model).State = EntityState.Modified; } db.SaveChanges(); var response = new HttpResponseMessage(HttpStatusCode.Created); return(response); } else { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } }
public ActionResult Create([Bind(Include = "EmployeeId,Date")] EmployeeAbsence employeeAbsence, DateTime?fromDate, DateTime?toDate) { employeeAbsence.Date = fromDate ?? DateTime.MinValue; /* Set employeeAbsense date to fromDate to fix datetime picker. * If fromDate is not filled in set value to minValue which will be picked up in further check*/ employeeAbsence.EmployeeId = Convert.ToInt16(Session["UserID"]); // Get employeeID from sessiondata if (employeeAbsence.Date == DateTime.MinValue) { ViewBag.ErrorMessage = "Vul een datum in!"; return(View("../Home/Availability")); } else if (employeeAbsence.Date <= DateTime.Now) // Check on valid date { ViewBag.ErrorMessage = "Kan de datum van vandaag of datum in het verleden niet selecteren"; return(View("../Home/Availability")); } var inspectionAtAbsenceDate = db.Inspections.Where(i => i.StartDate == employeeAbsence.Date && i.EmployeeId == employeeAbsence.EmployeeId).FirstOrDefault(); if (inspectionAtAbsenceDate != null) { ViewBag.ErrorMessage = "Er is al een festival geplanned op de dag waarop u absent wilt zijn. Neem contact op met FestiSpec om dit te bespreken."; return(View("../Home/Availability")); } if (toDate == null) // If only one date is selected { if (ModelState.IsValid) { db.EmployeeAbsenceDates.Add(employeeAbsence); try { db.SaveChanges(); ViewBag.SuccesMessage = "Datum is succesvol toegevoegd!"; } catch { ViewBag.ErrorMessage = "Datum is niet goed toegevoegd"; }; return(View("../Home/Availability")); } } else // When multiple dates need to be added to the database since to date is filled in { if (ModelState.IsValid) { for (DateTime tempdate = employeeAbsence.Date; tempdate <= toDate; tempdate = tempdate.AddDays(1)) { EmployeeAbsence ea = new EmployeeAbsence { EmployeeId = employeeAbsence.EmployeeId, Date = tempdate, Employee = employeeAbsence.Employee }; db.EmployeeAbsenceDates.Add(ea); try { db.SaveChanges(); ViewBag.SuccesMessage = "Een of meerdere datums zijn succesvol toegevoegd"; } catch { ViewBag.ErrorMessage = "Er is iets fout gegaan bij het toevoegen van datum: " + ea.Date + " mogelijk datums na deze datum zijn hierdoor ook niet toegevoegd"; return(View("../Home/Availability")); }; } return(View("../Home/Availability")); } } return(View(employeeAbsence)); }