public IActionResult Subscribe([FromBody] OrderModel model) { try { var user = UserManager.Users.FirstOrDefault(x => x.Id == model.UserId); foreach (var item in model.SubscribesBackages) { var offerPackage = UnitOfWork.SubscribesService.GetOfferBackageByUserId(item.UserId, item.PackageID); if (offerPackage != null) { UnitOfWork.SubscribesService.Delete(offerPackage.Id); UnitOfWork.Commit(); } var package = UnitOfWork.PackagesService.Get(item.PackageID); var subscribeModel = new SubscribesViewModel { UserId = item.UserId, SubscribeStatus = SubscribeStatus.Pending, PackageID = item.PackageID, StartDate = item.StartDate, EndDate = item.EndDate, Price = item.Price, UserName = user.UserName, UserPhone = user.PhoneNumber, UserEmail = user.Email, PackageName = package.Name, }; UnitOfWork.SubscribesService.Add(subscribeModel); UnitOfWork.Commit(); } return(Ok(true)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Register([FromBody] RegisterVm vm) { var obj = new ResponseVMAuth(); var userd = UserManager.Users.FirstOrDefault(x => x.Email == vm.Email); if (UserManager.Users.Any(usr => usr.UserName == vm.UserName)) { obj.Message = Language == Language.Arabic ? "اسم المستخدم موجود" : "UserName Aready In Use"; obj.IsSucess = false; return(BadRequest(obj)); } else if (UserManager.Users.Any(usr => usr.Email == vm.Email)) { obj.Message = Language == Language.Arabic ? "الايميل موجود" : "Email Aready In Use"; obj.IsSucess = false; return(BadRequest(obj)); } else if (UserManager.Users.Any(usr => usr.PhoneNumber == vm.PhoneNumber)) { obj.Message = Language == Language.Arabic ? "رقم الموبايل موجود" : "PhoneNumber Aready In Use"; obj.IsSucess = false; return(BadRequest(obj)); } else { if (ModelState.IsValid) { var user = new ApplicationUser() { UserName = vm.UserName, Email = vm.Email, PhoneNumber = vm.PhoneNumber, FirstName = vm.FirstName, LastName = vm.LastName, CityId = vm.CityId }; if (!string.IsNullOrEmpty(vm.PhotoName)) { var name = Guid.NewGuid().ToString(); var photoName = vm.PhotoName; int index = photoName.LastIndexOf("."); var extinsion = photoName.Substring(index); string path = Path.Combine(_env.WebRootPath, "Files/ProfileImages"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string filename = Path.Combine(path + "/" + name + extinsion); var base64array = Convert.FromBase64String(vm.Photo); System.IO.File.WriteAllBytes(filename, base64array); user.Photo = $"Files/ProfileImages/" + name + extinsion; } var result = await UserManager.CreateAsync(user, vm.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, false); var packages = UnitOfWork.PackagesService.GetPackages().ToList(); user.SubscripeType = vm.OfferLimit; await UserManager.UpdateAsync(user); // foreach (var it in packages) { var subscribeModel = new SubscribesViewModel { UserId = user.Id, PackageID = it.Id, PackageName = it.Name, SubscribeStatus = SubscribeStatus.Active, SubscribeType = (SubscribeType)vm.OfferLimit, EndDate = DateTime.Now.AddDays(vm.OfferEndDate), UserName = user.UserName, UserPhone = user.PhoneNumber, UserEmail = user.Email, }; UnitOfWork.SubscribesService.AddOffer(subscribeModel); UnitOfWork.Commit(); } obj.IsSucess = true; obj.Message = Language == Language.Arabic ? "تم التسجيل بنجاح" : "Success Register Done"; obj.Data = user; return(Ok(obj)); } else { obj.Message = Language == Language.Arabic ? "حاول التسجيل مرة اخرى" : "Please Try Again"; obj.IsSucess = false; return(BadRequest(obj)); } } else { obj.Message = Language == Language.Arabic ? "حاول التسجيل مرة اخرى" : "Please Try Again"; obj.IsSucess = false; return(BadRequest(obj)); } } }