public async Task <ActionResult> Info(GeneralUserModel userModel) { var user = await GetCurrentUser(); MappingHelper.MapModels(userModel, user); _context.Update(user); _context.SaveChanges(); return(Ok()); }
public IHttpActionResult PostCustomer([FromUri] string senderID, [FromBody] GeneralUserModel userModel) { Customer customer = new Customer(userModel.Username, userModel.Password) { FirstName = userModel.FirstName, LastName = userModel.LastName, Gender = userModel.Gender, JMBG = userModel.JMBG, Phone = userModel.Phone, Email = userModel.Email, }; userModel.TaxiDrivesIDs.ForEach(td => customer.TaxiDrives.Add(DbTaxiDrive.GetSingleEntityByKey(td))); //Customer ne pravi sam svoj nalog if (senderID != customer.Username) { if (!LoggedUsers.Contains(senderID)) { return(Content(HttpStatusCode.Unauthorized, "Not logged in.")); } else if (!DbAdmin.Exists(senderID)) { return(Content(HttpStatusCode.Unauthorized, "Not a dispatcher nor the user to be added.")); } } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } bool result; try { result = DbCustomer.Add(customer); } catch (Exception e) { Trace.Write($"Error on 'PostCustomer()'. Error message: {e.Message}"); Trace.Write($"[STACK_TRACE] {e.StackTrace}"); return(InternalServerError(e)); } if (result) { return(Ok(customer)); } else { return(BadRequest("Customer already exists.")); } }
// PUT api/drivers/5 public IHttpActionResult PutNonDriver([FromUri] string senderID, [FromBody] GeneralUserModel user) { if (!LoggedUsers.Contains(senderID)) { return(Content(HttpStatusCode.Unauthorized, "Not logged in.")); } bool result = false; if (DbAdmin.Exists(user.Username)) { if (!DbAdmin.Exists(senderID)) { return(Content(HttpStatusCode.Unauthorized, "Not a dispatcher.")); } try { Admin admin = new Admin(user.Username, user.Password) { FirstName = user.FirstName, LastName = user.LastName, Gender = user.Gender, JMBG = user.JMBG, Phone = user.Phone, Email = user.Email, }; user.TaxiDrivesIDs.ForEach(td => admin.TaxiDrives.Add(DbTaxiDrive.GetSingleEntityByKey(td))); result = DbAdmin.Modify(admin as Admin); } catch (Exception e) { Trace.Write($"Error on 'PutNonDriver()'. Error message: {e.Message}"); Trace.Write($"[STACK_TRACE] {e.StackTrace}"); return(InternalServerError(e)); } } else if (DbCustomer.Exists(user.Username)) { if (!DbAdmin.Exists(senderID) || senderID != user.Username) { return(Content(HttpStatusCode.Unauthorized, "Not a dispatcher nor the user to be modifed.")); } try { Customer customer = new Customer(user.Username, user.Password) { FirstName = user.FirstName, LastName = user.LastName, Gender = user.Gender, JMBG = user.JMBG, Phone = user.Phone, Email = user.Email, }; user.TaxiDrivesIDs.ForEach(td => customer.TaxiDrives.Add(DbTaxiDrive.GetSingleEntityByKey(td))); result = DbCustomer.Modify(customer as Customer); } catch (Exception e) { Trace.Write($"Error on 'PutNonDriver()'. Error message: {e.Message}"); Trace.Write($"[STACK_TRACE] {e.StackTrace}"); return(InternalServerError(e)); } } if (result) { return(Ok(user)); } else { return(NotFound()); } }