public IHttpResponse Create(PackageCreateViewModel model) { var recipient = this.DbContext.Users.FirstOrDefault(u => u.Username == model.Recipient); if (recipient == null) { return(this.BadRequestErrorWithView("Please select recipient")); } var package = new Package { Description = model.Description, Weight = model.Weight, ShippingAddress = model.Address, RecipientId = recipient.Id, Status = Status.Pending, EstimatedDeliveryDate = null, }; this.DbContext.Packages.Add(package); try { this.DbContext.SaveChanges(); } catch (Exception e) { return(this.ServerError(e.Message)); } return(this.Redirect("/")); }
public async Task <IActionResult> Create(PackageCreateViewModel vm, IFormFile file) { if (ModelState.IsValid) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); //check exists - Name = UNQ Package existingPackage = _packageService.GetSingle(p => p.Name == vm.Name); Location loc = _locationService.GetSingle(l => l.LocationId == int.Parse(TempData["locId"].ToString())); if (existingPackage == null) { Package pac = new Package { LocationId = loc.LocationId, Name = vm.Name, LocName = loc.Name, Price = vm.Price, Description = vm.Description, Active = vm.Active, LocState = loc.State, UserId = user.Id }; //upload the picture to the file system //assign the picture URL to the cat object if (file != null) { //check ?? //upload server path var serverPath = Path.Combine(_environment.WebRootPath, "uploads"); //create a folder Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); //stream the file to the server using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //assign the picture URL to the cat object pac.Picture = User.Identity.Name + "/" + fileName; } //save to db _packageService.Create(pac); //go home return(RedirectToAction("Index", "Home")); } else { ViewBag.MyMessage = "Package name exists. Please change the name"; return(View(vm)); } } else { return(View(vm)); } }
public ActionResult Create() { var viewModel = new PackageCreateViewModel(); viewModel.Categories = GetList(ListType.Category); viewModel.Countries = GetList(ListType.Country, defaultItem: false); viewModel.Activities = GetPackageActivities(); return(View(viewModel)); }
public IActionResult Create(PackageCreateViewModel model) { var success = this.packagesService.Create(model.Description, model.Weight, model.ShippingAddress, model.Recipient); if (!success) { return(this.RedirectToAction("/Packages/Create")); } return(this.RedirectToAction("/")); }
public async Task <IActionResult> Create(PackageCreateViewModel vm, IFormFile file) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); if (ModelState.IsValid) { Package existingPackage = _packageDataService.GetSingle(p => p.Name == vm.PackageName); if (existingPackage == null) { Package package = new Package { Name = vm.PackageName, Price = vm.Price, Location = vm.LocationName, Description = vm.Description, IsAvailable = true, LocationId = vm.LocationId, UserId = user.Id }; if (file != null) { var serverPath = Path.Combine(_environment.WebRootPath, "uploads/package"); Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); string fileName = FileNameHelper.GetNameFormatted(Path.GetFileName(file.FileName)); using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } package.Picture = User.Identity.Name + "/" + fileName; } else if (file == null) { package.Picture = "apackagegen.jpg"; } _packageDataService.Create(package); return(RedirectToAction("Details", "Package", new { id = package.PackageId })); } else { ViewBag.MyMessage = "Package name exists. please change the name"; return(View(vm)); } } else { return(View(vm)); } }
public IActionResult Create(PackageCreateViewModel model) { if (ModelState.IsValid != true) { return(View()); } if (packagesService.Exists(model.Description)) { Model["Error"] = $"A package with description '{model.Description}' already exists"; Model["Recipients"] = GetRecipients(); return(View()); } packagesService.AddPackage(model.Description, model.Weight, model.ShippingAddress, model.Recipient); return(RedirectToAction(Constants.HomeViewRoute)); }
public IActionResult Create(PackageCreateViewModel vm) { if (ModelState.IsValid) { Package package = new Package { Type = vm.Type, Amount = vm.Amount, Price = vm.Price }; _packageManager.CreatePackage(package); return(RedirectToAction(nameof(Index))); } return(View(vm)); }
public IHttpResponse Create() { if (this.User.IsLoggedIn && this.User.Role == "Admin") { var viewModel = new PackageCreateViewModel(); viewModel.AllUsers = this.Db.Users .Select(x => new UserViewModel { Id = x.Id, Username = x.Username, }).ToList(); return(this.View(viewModel)); } return(this.Redirect("/")); }
public IActionResult Create(int id) { //is there a way to optimise to store location id and name as temp data so do not need to pull from database //int locationId = int.Parse(TempData["locationId"].ToString()); Location location = _locationDataService.GetSingle(p => p.LocationId == id); PackageCreateViewModel vm = new PackageCreateViewModel { //LocationId = locationId, LocationId = location.LocationId, LocationName = location.Name }; //IEnumerable<Location> locationList = _locationDataService.GetAll().OrderBy(p => p.Name); //PackageCreateViewModel vm = new PackageCreateViewModel //{ // LocationList = new SelectList(locationList, "Id", "Value") //}; return(View(vm)); }
public IHttpResponse Create(PackageCreateViewModel model) { var user = this.db.Users.FirstOrDefault(u => u.Username == model.Recipient); if (user == null) { return(this.BadRequestError("Invalid username")); } var package = new Package { Id = model.Id, Description = model.Description, Weight = model.Weight, ShippingAddress = model.ShippingAddress, Recipient = user, EstimatedDeliveryDate = null }; this.db.Packages.Add(package); this.db.SaveChanges(); return(this.Redirect($"/Packages/Details?id={package.Id}")); }
public ActionResult Create(HttpPostedFileBase file, PackageCreateViewModel viewModel) { if (!ModelState.IsValid || file == null) { if (file == null) { ModelState.AddModelError("", "Thumbnail is required."); } viewModel.Categories = GetList(ListType.Category); viewModel.Countries = GetList(ListType.Country, defaultItem: false); viewModel.Activities = GetPackageActivities(); viewModel.DetailImageNames = ""; return(View(viewModel)); } var postID = 0; var isAvailable = CheckAvailablePost(Util.SessionAccess.ID); using (var trans = new TransactionScope()) { var post = new lnkmemberpost() { Description = viewModel.Description, CreateDT = DateTime.Now, Language = lang, MemberID = Util.SessionAccess.ID, PublishDT = DateTime.Now, Title = viewModel.Title, CategoryID = viewModel.CategoryID, Price = viewModel.Price, StartDT = viewModel.StartDT, EndDT = viewModel.EndDT, Days = viewModel.Days, Nights = viewModel.Nights, Active = isAvailable, }; if (file != null) { var fileName = FileUploadManager.UploadAndSave(file); post.ThumbnailImagePath = fileName; } db.lnkmemberposts.Add(post); db.SaveChanges(); if (!viewModel.CountryIDs.IsEmpty()) { var memberCountries = viewModel.CountryIDs .Select(a => new lnkmemberpostcountry { Active = true, CountryID = a, CreateDT = DateTime.Now, MemberPostID = post.ID }) .ToArray(); db.lnkmemberpostcountries.AddRange(memberCountries); } if (!viewModel.SelectedActivities.IsEmpty()) { foreach (var activityID in viewModel.SelectedActivities) { var activity = new lnkmemberpostpackageactivity { Active = true, CreateDT = DateTime.Now, MemberPostID = post.ID, PackageActivityID = activityID }; db.lnkmemberpostpackageactivities.Add(activity); } db.SaveChanges(); } if (!string.IsNullOrEmpty(viewModel.DetailImageNames)) { var detailImages = viewModel.DetailImageNames.Split(','); foreach (var image in detailImages) { var linkImage = new lnkmemberpostimage { Active = true, CreateDT = DateTime.Now, ImagePath = image, MemberPostID = post.ID, }; db.lnkmemberpostimages.Add(linkImage); } db.SaveChanges(); } trans.Complete(); postID = post.ID; } var emailBody = string.Format(@"Hi EZ Management, <br /><br /> Package <b>{0}</b> has been created. <br /><br /> http://ezgoholiday.com/EN/Package/Details/{1} <br /><br /> Posted: {2}", viewModel.Title, postID, isAvailable); Util.SendEmail(viewModel.Title, emailBody, Properties.Settings.Default.EmailFrom, "", ""); if (viewModel.Active && !isAvailable) { return(RedirectToAction("Edit", new { id = postID, errorMessage = "不足够可发布数量.\n帖子成功保存,但无法发布到网站." })); } else { return(RedirectToAction("Index")); } }
public IActionResult Create() { PackageCreateViewModel vm = new PackageCreateViewModel(); return(View(vm)); }