public async Task<HttpResponseMessage> Create(ParameterName param) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } if (param.Type == ParameterType.Misc && param.MiscParentId == null) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Для типа данных \"словарь\" необходимо выбрать словарь."); } if (_repParamNames.GetAll().Any(p => p.Name == param.Name && p.DocType == param.DocType)) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "В этом типе документов уже используется данный параметр."); } param.Category = ParameterCategory.Document; param.PersonCategory = null; param.IsFact = false; param.CanRemove = true; await _repParamNames.AddAsync(param); return Request.CreateResponse(HttpStatusCode.OK, param); }
public async Task<HttpResponseMessage> Update(ParameterName param) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } var paramDb = await _repParamNames.FindAsync(p => p.Id == param.Id); if (paramDb == null) { return Request.CreateResponse(HttpStatusCode.NotFound); } paramDb.OrderIndex = param.OrderIndex; await _repParamNames.UpdateAsync(paramDb); return Request.CreateResponse(HttpStatusCode.NoContent); }
private DocumentParameter UpdateOrCreateDocumentParameter(Document doc, ParameterName paramName, string strValue = null, int? intValue = null, float? floatValue = null, DateTime? dateValue = null) { strValue = NormalizeString(strValue, true); var docPrm = _db.DocumentParameters.SingleOrDefault(d => d.DocumentId == doc.Id && d.ParameterId == paramName.Id); if (docPrm == null) { docPrm = new DocumentParameter() { DateValue = dateValue, IntValue = intValue, FloatValue = floatValue, StringValue = strValue, DocumentId = doc.Id, ParameterId = paramName.Id }; _db.DocumentParameters.Add(docPrm); } else { docPrm.DateValue = dateValue; docPrm.IntValue = intValue; docPrm.FloatValue = floatValue; docPrm.StringValue = strValue; docPrm.DocumentId = doc.Id; docPrm.ParameterId = paramName.Id; }; _db.SaveChanges(); return docPrm; }
private PersonFact UpdateOrCreatePersonFact(Person person, ParameterName factName, string strValue = null, int? intValue = null, float? floatValue = null, DateTime? dateValue = null) { strValue = NormalizeString(strValue, true); var fact = _db.PersonFacts.FirstOrDefault(f => f.PersonId == person.Id && f.FactId == factName.Id && f.StringValue == strValue && f.IntValue == intValue && f.FloatValue == floatValue && f.DateValue == dateValue); if (fact == null) { fact = new PersonFact() { PersonId = person.Id, FactId = factName.Id, FactDate = DateTime.Now, StringValue = strValue, IntValue = intValue, FloatValue = floatValue, DateValue = dateValue }; _db.PersonFacts.Add(fact); } else { fact.FactDate = DateTime.Now; }; _db.SaveChanges(); return fact; }