public IHttpActionResult DeleteKPIValue(int id) { try { UnitOfWork unitOfWork = new UnitOfWork(factory); KPIValue KPIvalue = unitOfWork.KPIValuesRepository.GetByID(id); KPIvalue.Deleted = true; unitOfWork.KPIValuesRepository.Update(KPIvalue); unitOfWork.Save(); KPIValueDTO dto = dto = unitOfWork.KPIValuesRepository.Get(d => d.Id == id, includeProperties: "KPIParameter,KPIPeriod,Office").FirstOrDefault().ToDTO(); return(Ok(dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult PostKPIValue(KPIValueDTO KPIvalue) { if (KPIvalue == null || !ModelState.IsValid) { return(BadRequest(ModelState)); } try { KPIValue value = KPIvalue.FromDTO(); UnitOfWork unitOfWork = new UnitOfWork(factory); unitOfWork.KPIValuesRepository.Insert(value); unitOfWork.Save(); //cos there are no included object-properies we need to load, then just ToDTO call KPIValueDTO dto = dto = unitOfWork.KPIValuesRepository.Get(d => d.Id == value.Id, includeProperties: "KPIParameter,KPIPeriod,Office").FirstOrDefault().ToDTO(); return(CreatedAtRoute("GetKPIValue", new { id = dto.Id }, dto)); } catch (NotFoundException nfe) { return(NotFound()); } catch (ConflictException ce) { return(Conflict()); } catch (Exception e) { return(BadRequest(e.Message)); } }