public IPropertyTag GetPropertyTagById(int id) { FVCP.Persistence.EF.PropertyTag dbItem = null; using (var db = new PropertyEntities()) { dbItem = db.PropertyTags .FirstOrDefault(x => x.Id == id); } PropertyTagDTO dto = PropertyTagRepository.MapFieldValues(dbItem); PropertyTagFactory myFact = new PropertyTagFactory(); IPropertyTag retVal = myFact.Create(dto); return(retVal); }
public static PropertyTagDTO MapFieldValues(EF.PropertyTag dbItem) { if (dbItem == null) { return(null); } PropertyTagDTO retVal = new PropertyTagDTO() { Id = dbItem.Id, Name = dbItem.Name, Pin = dbItem.Pin }; return(retVal); }
public IHttpActionResult Post([FromBody] string data) { data = WebUtility.UrlDecode(data); if (string.IsNullOrEmpty(data)) { return(BadRequest("Empty request detected.")); } IHttpActionResult retVal = null; PropertyTagDTO dto = JsonConvert.DeserializeObject <PropertyTagDTO>(data); var cqProcessor = base.DIContainer.Resolve <ICQProcessor <PropertyTagDTO> >(); var srResult = cqProcessor.Process(new AddPropertyTagRequest() { Pin = dto.Pin, Name = dto.Name }); if (srResult.Success) { retVal = Created <PropertyTagDTO>(Request.RequestUri + srResult.Data.Id.ToString(), srResult.Data); } else { switch (srResult.ErrorID) { case "404": retVal = NotFound(); break; case "422": // Conflict = 409, really should be 422 - Unprocessable Entity // the server understands the content type of the request entity (hence a 415 Unsupported Media Type status code is inappropriate), // and the syntax of the request entity is correct (thus a 400 Bad Request status code is inappropriate) but was unable to process the contained instructions. retVal = new ErrorResult(Request, HttpStatusCode.Conflict, srResult.Message); break; default: retVal = InternalServerError(new ApplicationException(srResult.Message)); break; } } return(retVal); }
public static List <PropertyTagDTO> MapFieldValues(ICollection <EF.PropertyTag> dbItems) { List <PropertyTagDTO> retVal = new List <PropertyTagDTO>(); if (dbItems == null) { return(retVal); } foreach (var dbItem in dbItems) { PropertyTagDTO dto = new PropertyTagDTO() { Id = dbItem.Id, Name = dbItem.Name, Pin = dbItem.Pin }; retVal.Add(dto); } return(retVal); }
public ServiceResult <IPropertyTag> AddPropertyTag(string pin, string name) { ServiceResult <IPropertyTag> retVal = new ServiceResult <IPropertyTag>(); FVCP.Persistence.EF.PropertyTag dbItem = null; using (var db = new PropertyEntities()) { dbItem = db.PropertyTags .FirstOrDefault(x => x.Pin == pin && x.Name == name); if (dbItem == null) { // Go ahead and add the item, it isn't a duplicate. dbItem = new EF.PropertyTag() { Name = name, Pin = pin }; db.PropertyTags.Add(dbItem); db.SaveChanges(); // ID value should populate. PropertyTagDTO dto = PropertyTagRepository.MapFieldValues(dbItem); PropertyTagFactory myFact = new PropertyTagFactory(); retVal.Data = myFact.Create(dto); retVal.Success = true; } else { retVal.Success = false; retVal.ErrorID = "422"; retVal.Message = string.Format("Unprocessable Entity - Tag '{0}' already exists for PIN '{1}'", name, pin); } } return(retVal); }
public IHttpActionResult Put([FromBody] string data) { data = WebUtility.UrlDecode(data); if (string.IsNullOrEmpty(data)) { return(BadRequest("Empty request detected.")); } IHttpActionResult retVal = null; PropertyTagDTO dto = JsonConvert.DeserializeObject <PropertyTagDTO>(data); var cqProcessor = base.DIContainer.Resolve <ICQProcessor <PropertyTagDTO> >(); var srResult = cqProcessor.Process(new UpdatePropertyTagRequest() { Id = dto.Id, Name = dto.Name }); if (srResult.Success) { retVal = Ok <PropertyTagDTO>(srResult.Data); } else { switch (srResult.ErrorID) { case "404": retVal = NotFound(); break; default: retVal = InternalServerError(new ApplicationException(srResult.Message)); break; } } return(retVal); }
public virtual IPropertyTag Create(PropertyTagDTO dto) { return(new PropertyTag(dto)); }
public static List<PropertyTagDTO> MapFieldValues(ICollection<EF.PropertyTag> dbItems) { List<PropertyTagDTO> retVal = new List<PropertyTagDTO>(); if (dbItems == null) return retVal; foreach (var dbItem in dbItems) { PropertyTagDTO dto = new PropertyTagDTO() { Id = dbItem.Id, Name = dbItem.Name, Pin = dbItem.Pin }; retVal.Add(dto); } return retVal; }
public static PropertyTagDTO MapFieldValues(EF.PropertyTag dbItem) { if (dbItem == null) return null; PropertyTagDTO retVal = new PropertyTagDTO() { Id = dbItem.Id, Name = dbItem.Name, Pin = dbItem.Pin }; return retVal; }
public virtual IPropertyTag Create(PropertyTagDTO dto) { return new PropertyTag(dto); }
public PropertyTag(PropertyTagDTO data) { this.Data = data; }