Exemple #1
0
        public ActionResult UpdateSubject(int id, string new_name, string new_dateStr, int?new_status)
        {
            var result = new ResultData <Subject>();

            try
            {
                SubjectServices.ValidateName(new_name);
                SubjectServices.ValidateDate(new_dateStr, out DateTime date);

                var subject = db.Materia.Where(q => q.IdSubject == id).FirstOrDefault();
                subject.Name     = (new_name is null) ? subject.Name : new_name;
                subject.Registry = (new_dateStr is null) ? subject.Registry : date;
                subject.Status   = (new_status is null) ? subject.Status : (SubjectStatus)new_status;
                result.Error     = false;
                result.Message.Add("OK");
                result.Status = HttpStatusCode.OK;
                db.SaveChanges();
                return(Ok(result));
            }
            catch (Exception e)
            {
                result.Error = true;
                result.Message.Add(e.Message);
                result.Status = HttpStatusCode.BadRequest;
                return(BadRequest(result));
            }
            finally
            {
                db.Dispose();
            }
        }
Exemple #2
0
        public ActionResult AddSubject(string subject_name, string dateStr, SubjectStatus status)
        {
            var result = new ResultData <Subject>();

            try
            {
                SubjectServices.ValidateName(subject_name);
                SubjectServices.ValidateDate(dateStr, out DateTime date);

                if (db.Materia.Select(q => q.Name).Contains(subject_name))
                {
                    result.Error = true;
                    result.Message.Add($"O nome {subject_name} já esta cadastrado");
                    result.Status = HttpStatusCode.BadRequest;
                    return(BadRequest(result));
                }

                Subject subject = new Subject(subject_name, date, status);
                db.Materia.Add(subject);
                db.SaveChanges();
                result.Error  = false;
                result.Status = HttpStatusCode.OK;
                result.Data   = db.Materia.ToList();
                return(Ok(result));
            }
            catch (Exception e)
            {
                result.Error = true;
                result.Message.Add(e.Message);
                return(BadRequest(result));
            }
            finally
            {
                db.Dispose();
            }
        }