Esempio n. 1
0
        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));
            }
        }
Esempio n. 3
0
        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));
        }