public IHttpActionResult PostService(Services service) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var list = unitOfWork.Services.GetAll(); foreach (var item in list) { if (item.Name == service.Name) { return(BadRequest("Already is service with this name: " + service.Name)); } } Services ser = new Services() { Name = service.Name, Email = service.Email, Logo = service.Logo, Owner = service.Owner, Available = false, Description = service.Description, Branches = new List <Branch>(), Vehicles = new List <Vehicle>(), Grade = 0, UsersGrade = new List <string>() }; unitOfWork.Services.Add(ser); unitOfWork.Complete(); NotificationsHub.NotifyAdmin("New service added and requires aproval!"); return(CreatedAtRoute("DefaultApi", new { id = service.Id }, service)); }
public HttpResponseMessage UploadImage() { //Notify for websocket NotificationsHub.NotifyAdmin("New service is added..."); string imageName = null; var httpRequest = HttpContext.Current.Request; //Upload Image var postedFile = httpRequest.Files["Image"]; //Create custom filename imageName = new string(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(10).ToArray()).Replace(" ", "-"); imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName); var filePath = HttpContext.Current.Server.MapPath("~/Images/" + imageName); postedFile.SaveAs(filePath); Service service = new Service { Logo = imageName, Name = httpRequest["Name"], Email = httpRequest["Email"], Description = httpRequest["Description"] }; unitOfWork.Services.Add(service); unitOfWork.Complete(); return(Request.CreateResponse(HttpStatusCode.Created)); }
public async Task <IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } AppUser appUser = new AppUser() { FullName = model.FullName, Email = model.Email, BirthDate = model.BirthDate }; var user = new RAIdentityUser() { UserName = model.Email, Email = model.Email, AppUser = appUser, PasswordHash = RAIdentityUser.HashPassword(model.Password) }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(GetErrorResult(result)); } UserManager.AddToRole(user.Id, "AppUser"); NotificationsHub.NotifyAdmin("New User was registered"); return(Ok()); }
public async Task <IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } NotificationsHub.NotifyAdmin("New user is added..."); var appUser = new AppUser() { FullName = model.FullName, Email = model.Email, BirthDay = model.DateOfBirth, /*CreatingServicesBan = true,*/ /*IsRegistered = false*/ }; var user = new RAIdentityUser() { Id = model.Email, UserName = model.Email, Email = model.Email, AppUser = appUser }; user.PasswordHash = RAIdentityUser.HashPassword(model.Password); IdentityResult result = await UserManager.CreateAsync(user, model.Password); await UserManager.AddToRoleAsync(model.Email, "AppUser"); if (!result.Succeeded) { return(Content(System.Net.HttpStatusCode.BadRequest, "User already exists!")); } return(Ok()); }
public IHttpActionResult PostService(Service service) { lock (o) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } service.Owner = User.Identity.Name; unitOfWork.Services.Add(service); unitOfWork.Complete(); NotificationsHub.NotifyAdmin("New service added and requires aproval!"); return(CreatedAtRoute("DefaultApi", new { id = service.Id }, service)); } }
public async Task <IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var appUser = new AppUser() { BirthDay = model.BirthDay, Email = model.Email, FullName = model.FullName, Activated = false, PersonalDocument = null, Rents = new List <Rent>() }; var user = new RAIdentityUser() { AppUser = appUser, PasswordHash = RAIdentityUser.HashPassword(model.Password), UserName = model.Email, Email = model.Email, }; NotificationsHub.NotifyAdmin("New user added!"); IdentityResult result = await UserManager.CreateAsync(user, model.Password); UserManager.AddToRole(user.Id, "AppUser"); var errorMessage = result.Errors.ToList(); if (!result.Succeeded) { return(GetErrorResult(result)); } //userManager.Create(user); //userManager.AddToRole(user.Id, appUser); return(Ok()); }
public async Task <IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } foreach (AppUser u in unitOfWork.AppUser.GetAll()) { if (u.Email == model.Email) { return(Unauthorized()); } } var appuser = new AppUser() { FullName = model.FullName, Email = model.Email, Birthday = model.DateOfBirth, Activated = false, PersonalDocument = null, Rents = new List <Rent>() }; var user = new RAIdentityUser() { UserName = model.Email, Email = model.Email, AppUser = appuser, PasswordHash = RAIdentityUser.HashPassword(model.Password) }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(Content(System.Net.HttpStatusCode.BadRequest, "BadRequest!")); } UserManager.AddToRole(user.Id, "AppUser"); NotificationsHub.NotifyAdmin("New user added!"); return(Ok()); }
public IHttpActionResult EditRentService() { var httpRequest = HttpContext.Current.Request; int serviceId = Int32.Parse(httpRequest["RentServiceId"]); RentService service = _unitOfWork.RentServices.Get(serviceId); if (service == null) { return(BadRequest("Rent Service does not exist")); } var jsonObj = JsonConvert.SerializeObject(service, Formatting.None, setting); var eTag = ETagHelper.GetETag(Encoding.UTF8.GetBytes(jsonObj)); if (HttpContext.Current.Request.Headers.Get(ETagHelper.MATCH_HEADER) == null || HttpContext.Current.Request.Headers[ETagHelper.MATCH_HEADER].Trim('"') != eTag) { HttpContext.Current.Response.Headers.Add("Access-Control-Expose-Headers", ETagHelper.ETAG_HEADER); HttpContext.Current.Response.Headers.Add(ETagHelper.ETAG_HEADER, JsonConvert.SerializeObject(eTag)); return(new StatusCodeResult(HttpStatusCode.PreconditionFailed, new HttpRequestMessage())); } string imageName = null; service.Name = httpRequest["Name"].Trim(); service.Description = httpRequest["Description"].Trim(); service.Email = httpRequest["Email"].Trim(); service.Activated = false; service.ServiceEdited = true; var postedFile = httpRequest.Files["Logo"]; if (postedFile != null) { if (File.Exists(HttpRuntime.AppDomainAppPath + "Images\\" + service.Logo)) { File.Delete(HttpRuntime.AppDomainAppPath + "Images\\" + service.Logo); } imageName = new string(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(10).ToArray()).Replace(" ", "-"); imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName); var filePath = HttpContext.Current.Server.MapPath("~/Images/" + imageName); postedFile.SaveAs(filePath); service.Logo = imageName; } try { _unitOfWork.RentServices.Update(service); _unitOfWork.Complete(); } catch { return(BadRequest("Rent Service could not be edited")); } NotificationsHub.NotifyAdmin("New Rent Service was edited"); jsonObj = JsonConvert.SerializeObject(service, Formatting.None, setting); eTag = ETagHelper.GetETag(Encoding.UTF8.GetBytes(jsonObj)); HttpContext.Current.Response.Headers.Add("Access-Control-Expose-Headers", ETagHelper.ETAG_HEADER); HttpContext.Current.Response.Headers.Add(ETagHelper.ETAG_HEADER, JsonConvert.SerializeObject(eTag)); return(Created("Rent Service was edited", service)); }
public IHttpActionResult AddRentService() { RADBContext db = new RADBContext(); AppUser appUser; try { var username = User.Identity.Name; var user = _unitOfWork.AppUsers.Find(u => u.Email == username).FirstOrDefault(); if (user == null) { return(BadRequest("Data could not be retrieved, try to relog.")); } appUser = user; } catch { return(BadRequest("User not found, try to relog")); } if (appUser == null) { return(BadRequest("Try to relog")); } if (appUser.Activated == false) { return(BadRequest("You can't add new Rent Services right now")); } var httpRequest = HttpContext.Current.Request; string imageName = null; RentService service = new RentService(); service.Name = httpRequest["Name"].Trim(); service.Description = httpRequest["Description"].Trim(); service.Email = httpRequest["Email"].Trim(); service.Activated = false; service.ServiceEdited = true; service.UserId = appUser.UserId; if (service.Logo == null || service.Logo == "") { var postedFile = httpRequest.Files["Logo"]; imageName = new string(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(10).ToArray()).Replace(" ", "-"); imageName = imageName + DateTime.Now.ToString("yymmssfff") + Path.GetExtension(postedFile.FileName); var filePath = HttpContext.Current.Server.MapPath("~/Images/" + imageName); postedFile.SaveAs(filePath); service.Logo = imageName; } try { _unitOfWork.RentServices.Add(service); _unitOfWork.Complete(); appUser.RentServices.Add(service); _unitOfWork.AppUsers.Update(appUser); _unitOfWork.Complete(); } catch { return(BadRequest("Rent Service could not be added")); } NotificationsHub.NotifyAdmin("New Rent Service was added"); return(Created("Rent Service was created", service)); }