public async Task <IHttpActionResult> PostPatron(Patron patron) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Patrons.Add(patron); await db.SaveChangesAsync(); var dto = new PatronDTO() { Id = patron.Id, FirstName = patron.FirstName, LastName = patron.LastName, Address = patron.Address }; return(CreatedAtRoute("DefaultPatronApi", new { id = patron.Id }, dto)); } catch (Exception e) { return(InternalServerError(e)); } }
public PatronResponse PatronGet(PatronRequest request) { try { NullSafeCheck(request, "Request"); NullSafeCheck(request.Filter, "Filter"); if (request.Filter.ID <= 0 && request.Filter.PersonID <= 0 && string.IsNullOrEmpty(request.Filter.NationalNo)) { throw new CustomException(INVALID_REQ_USER_MESSAGE, "ID,PersonID and NationalNo is invalid"); } PatronDTO result = null; using (var context = new CharityEntities()) { var query = context.Patrons.AsNoTracking().AsQueryable(); if (request.Filter.ID > 0) { query = query.Where(p => p.Active && p.ID == request.Filter.ID); } else if (request.Filter.PersonID > 0) { query = query.Where(p => p.PersonID == request.Filter.PersonID); } else if (string.IsNullOrEmpty(request.Filter.NationalNo) == false) { var person = context.People.AsNoTracking().FirstOrDefault(p => p.NationalNo == request.Filter.NationalNo); query = query.Where(p => p.PersonID == person.ID); } result = query.Select(PatronDTOMapper).FirstOrDefault(); if (request.LoadPerson) { var people = context.People.AsNoTracking(); var person = people.FirstOrDefault(p => p.ID == result.PersonID); result.Person = PersonDTOMapper(person); } } if (result == null) { throw new CustomException("نتیجه ای یافت نشد", "Patron not found"); } return(new PatronResponse { Success = result != null, ResultID = result?.ID ?? 0, Result = result }); } catch (Exception ex) { var response = ExceptionToBaseResponse(ex); return(response.Cast <PatronResponse>()); } }
/**************************************************************************************************************** * Metoder vedrørende lånere * * **************************************************************************************************************/ // Hent låner public async Task <PatronDTO> GetPatronAsync(int patronId) { PatronDTO patron = null; HttpResponseMessage response = await client.GetAsync("api/patrons/" + patronId); if (response.IsSuccessStatusCode) { patron = JsonConvert.DeserializeObject <PatronDTO>(await response.Content.ReadAsStringAsync()); } return(patron); }
// Tilføj en låner public async Task <bool> AddPatronAsync(PatronDTO patron) { string json = JsonConvert.SerializeObject(patron); string relativeURL = "/api/patrons/"; HttpResponseMessage response = await client.PostAsync(relativeURL, new StringContent(json, Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { return(true); } return(false); }
public void GetPatronForPerson(HttpListenerContext context) { string[] parameters = context.Request.RawUrl.Replace("/Get/Patron/", "").Split('/'); int personId = int.Parse(parameters[0]); string token = parameters[1]; var session = SessionManager.GetSession(token); PatronDTO result = null; if (session.user.People.Any(p => p.Id == personId && p.ConnectionType == ConnectionType.PersonToOwner)) { var unit = new UnitOfWork(session.context); var patron = unit.Patrons.Find(p => p.Person.Id == personId).FirstOrDefault(); result = patron != null?patron.ToPatronDTO() : null; } MyResponder.RespondJson(context, result); }
public async Task <bool> AddPatronAsync(PatronDTO patron) { patrons.Add(patron); return(true); }