示例#1
0
        public IActionResult AddDeseaseCategory([FromBody] DiseaseCategory diseaseCategory)
        {
            log.Info($"DiseaseCategoryController::AddDeseaseCategory().Adding DiseaseCategory {diseaseCategory.Name}.");

            if (!ModelState.IsValid)
            {
                log.Error("DiseaseCategoryController::AddDeseaseCategory().Invalid model");

                return(BadRequest("Invalid data submitted"));
            }

            try
            {
                _service.AddDiseaseCategoryAsync(diseaseCategory);

                log.Info($"DiseaseCategoryController::AddDeseaseCategory(). DiseaseCategory {diseaseCategory.Name} has been added.");

                return(Created("diseasecategory/", diseaseCategory.Id));
            }
            catch (ArgumentException ex)
            {
                log.Error($"DiseaseCategoryController::AddDeseaseCategory().Failed to add DiseaseCategory {diseaseCategory.Name}");

                return(BadRequest(ex.Message));
            };
        }
示例#2
0
        public IActionResult Put([FromODataUri] Guid key, DiseaseCategory diseasecategory)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var trans = context.Database.BeginTransaction())
            {
                try
                {
                    if (context.DiseaseCategories.Find(key) == null)
                    {
                        return(NotFound());
                    }
                    //context = new ApplicationDbContext(context.Options);
                    var local = context.DiseaseCategories.Local.FirstOrDefault(it => it.DiseaseCategoryID.Equals(key));
                    if (local != null)
                    {
                        context.Entry(local).State = EntityState.Detached;
                    }


                    context.Entry(diseasecategory).State = EntityState.Modified;
                    context.SaveChanges();
                    trans.Commit();
                    return(Ok(diseasecategory));
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    return(BadRequest(ex));
                }
            }
        }
示例#3
0
 /// <summary>
 /// Adds the specified category
 /// </summary>
 /// <param name="category">The category</param>
 /// <returns>
 /// Id of added category
 /// </returns>
 /// <exception cref="ArgumentException">Category name already exists!</exception>
 public int Add(DiseaseCategory category)
 {
     if (this.dataAccessManager.GetDiseaseCategories().Any(c => c.Name == category.Name))
     {
         throw new ArgumentException("Category name already exists!");
     }
     return(this.dataAccessManager.AddDiseaseCategory(category));
 }
示例#4
0
        /// <summary>
        /// Adds DiseaseCategory entry to the database
        /// Throws exception if object with the same name alrady exists in the database
        /// </summary>
        /// <param name="diseaseCategory">New DiseaseCategory object</param>
        /// <returns>DiseaseCategory object that has been added</returns>
        public async Task <DiseaseCategory> AddDiseaseCategoryAsync(DiseaseCategory diseaseCategory)
        {
            if (_unitOfWork.Diseases.GetAll().Any(dc => dc.Name == diseaseCategory.Name))
            {
                throw new ArgumentException("Category already exists.");
            }

            DiseaseCategory result = _unitOfWork.DiseaseCategories.Insert(diseaseCategory);
            await _unitOfWork.Save();

            return(result);
        }
示例#5
0
        public IActionResult Post(DiseaseCategory diseasecategory)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var trans = context.Database.BeginTransaction())
            {
                try
                {
                    context.DiseaseCategories.Add(diseasecategory);
                    context.SaveChanges();
                    trans.Commit();
                    return(Ok(diseasecategory));
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    return(BadRequest(ex));
                }
            }
        }
 /// <summary>
 /// Adds the disease category
 /// </summary>
 /// <param name="category">The category</param>
 /// <returns>
 /// Id of added category
 /// </returns>
 public int AddDiseaseCategory(DiseaseCategory category)
 {
     this.DiseaseCategories.Add(category);
     this.SaveChanges();
     return(this.DiseaseCategories.FirstOrDefault(c => c.Name == category.Name).CategoryId);
 }
示例#7
0
 /// <summary>
 /// Updates the category with specified identifier
 /// </summary>
 /// <param name="id">The identifier</param>
 /// <param name="item">The item</param>
 /// <returns></returns>
 /// <exception cref="NotImplementedException"></exception>
 public int Update(int id, DiseaseCategory item)
 {
     throw new NotImplementedException();
 }