public async Task <JsonResult> AddSeller(AddSellerViewModel viewModel) { var ok = true; var errors = new List <string>(); if (ModelState.IsValid) { await manageStaff.AddSellerAsync(viewModel.FormUser()); } else { ok = false; ModelState.Values.ToList().ForEach(value => { value.Errors.ToList().ForEach(error => { errors.Add(error.ErrorMessage); }); }); } return(Json(new { ok, errors })); }
public async Task <IActionResult> Post([FromBody] AddSellerViewModel model) { Guid?parentId = null; if (model == null) { return(BadRequest()); } if (model.ParentSellerId.HasValue) { var parentSeller = await _sellerRepo.GetAsync(model.ParentSellerId.Value); if (parentSeller == null) { return(NotFound(Resources.Sellers.SellerResource.ParentSellerNotFound)); } parentId = parentSeller.Id; } if (await _sellerRepo.IsExistCodeAsync(model.Code)) { ModelState.AddModelError("Code", Resources.Global.Common.ThisCodeExist); } if (await _sellerRepo.IsExistNameAsync(model.Name)) { ModelState.AddModelError("Name", Resources.Global.Common.ThisNameExist); } if (!ModelState.IsValid) { return(BadRequest(ModelState.GetWithErrorsKey())); } var seller = new Seller(model.Code, model.Name, model.Note); if (parentId.HasValue) { seller.ParentId = parentId.Value; } var affectedRows = await _sellerRepo.AddAsync(seller); if (affectedRows > 0) { _sellerRepo.LoadReferences(seller); var viewModel = AutoMapper.Mapper.Map <SellerViewModel>(seller); return(CreatedAtRoute("GetSeller", new { id = seller.Number }, viewModel)); } return(BadRequest()); }
public async Task <IActionResult> AddSeller(AddSellerViewModel model) { if (ModelState.IsValid) { string uniqueFilename = null; if (model.ShopPhoto != null) { string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images\\shop"); uniqueFilename = Guid.NewGuid().ToString() + "_" + Path.GetFileName(model.ShopPhoto.FileName); string filePath = Path.Combine(uploadsFolder, uniqueFilename); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.ShopPhoto.CopyTo(fileStream); } } Location location = await context.Locations.FindAsync(model.location); ShopType type = await context.shopTypes.FindAsync(model.shopType); ApplicationUser seller = new ApplicationUser { ShopName = model.ShopName, UserName = model.Email, UserLocation = location, LocName = location.LocationName, shopType = type, TypeName = type.Type, Email = model.Email, AddrLine1 = model.AddressLine1, AddrLine2 = model.AddressLine2, PinCode = model.PinCode, PhoneNumber = model.PhoneNumber, PhotoPath = uniqueFilename, IsShopOpen = false }; var result = await userManager.CreateAsync(seller, model.Password); if (result.Succeeded) { await userManager.AddToRoleAsync(seller, "Seller"); ModelState.Clear(); TempData["Success"] = "Shop Added!"; return(View(model)); } } return(View(model)); }