public async Task<HttpResponseMessage> UpdateMisc(MiscName misc)
		{
			if (!ModelState.IsValid)
			{
				return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
			}

			if (_repMisc.GetAll().Any(m => m.MiscId == misc.Id))
			{
				return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Этот словарь содержит значения, его нельзя переименовать.");
			}

			if (_repMiscNames.GetAll().Any(m => m.Name == misc.Name))
			{
				return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Эта группа словарей уже содержит словарь с таким названием.");
			}

			var miscDb = await _repMiscNames.FindAsync(m => m.Id == misc.Id);

			if (miscDb == null)
			{
				return Request.CreateResponse(HttpStatusCode.NotFound);
			}

			miscDb.Name = misc.Name;

			await _repMiscNames.UpdateAsync(miscDb);

			return Request.CreateResponse(HttpStatusCode.NoContent);
		}
		public async Task<HttpResponseMessage> CreateMisc(MiscName misc)
		{
			if (!ModelState.IsValid)
			{
				return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
			}

			if (_repMiscNames.GetAll().Any(m => m.Name == misc.Name && m.DocType == misc.DocType))
			{
				return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "В этой группе уже используется данное значение.");
			}

			await _repMiscNames.AddAsync(misc);

			return Request.CreateResponse(HttpStatusCode.OK, misc);
		}
Exemple #3
0
 private Misc GetOrCreateMisc(MiscName miskName, string value)
 {
     var misc = _db.Misc.SingleOrDefault(m => m.MiscId == miskName.Id && m.MiscValue == value);
     if (misc == null)
     {
         misc = new Misc
         {
             MiscId = miskName.Id,
             MiscValue = value
         };
         _db.Misc.Add(misc);
         _db.SaveChanges();
     }
     return misc;
 }