Exemplo n.º 1
0
        public IActionResult ListOfVendor()
        {
            var data = _userManger.Users.ToList();
            List <SignUpVendorVM> model = new List <SignUpVendorVM>();

            if (data != null)
            {
                foreach (var item in data)
                {
                    if (_userManger.IsInRoleAsync(item, "Vendor").Result)
                    {
                        var            VendorData = _listOfAll.GetVendorByUserId(item.Id);
                        SignUpVendorVM listVM     = new SignUpVendorVM();
                        listVM.Id          = item.Id;
                        listVM.FirstName   = item.FirstName;
                        listVM.LastName    = item.LastName;
                        listVM.Email       = item.Email;
                        listVM.PhoneNumber = item.PhoneNumber;
                        listVM.StoreName   = VendorData.StoreName;
                        listVM.Address     = VendorData.Address_Location;
                        model.Add(listVM);
                    }
                }
            }

            return(View(model));
        }
Exemplo n.º 2
0
        public IActionResult SignUp(string UserType)
        {
            if (UserType == "Vendor")
            {
                SignUpVendorVM model = new SignUpVendorVM();
                model.Area = _listOfAll.GetArea()?.Select(p => new SelectListItem()
                {
                    Text  = p.AreaName,
                    Value = p.Id.ToString()
                }).ToList();
                model.Category = _listOfAll.GetCategory()?.Select(p => new SelectListItem()
                {
                    Text  = p.Name,
                    Value = p.Id.ToString()
                }).ToList();
                model.Cuisine = _listOfAll.GetCuisine()?.Select(p => new SelectListItem()
                {
                    Text  = p.Name,
                    Value = p.Id.ToString()
                }).ToList();

                model.NunberOfLocation = new List <SelectListItem>()
                {
                    new SelectListItem()
                    {
                        Value = "1 - 4", Text = "1 - 4"
                    },
                    new SelectListItem()
                    {
                        Value = "4 - 10", Text = "4 - 10"
                    },
                    new SelectListItem()
                    {
                        Value = "10 - 20", Text = "10 - 20"
                    }
                };


                return(PartialView("_VendorSignUp", model));
            }
            else if (UserType == "User")
            {
                return(PartialView("_User_SigUp"));
            }
            else
            {
                SignUpDriverVM model = new SignUpDriverVM();
                model.Area = _listOfAll.GetArea()?.Select(p => new SelectListItem()
                {
                    Text  = p.AreaName,
                    Value = p.Id.ToString()
                }).ToList();
                return(PartialView("_Driver_SigUp", model));
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Index()
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var user   = await _userManger.FindByIdAsync(userId);

            var data = _userManger.Users.ToList();

            if (_userManger.IsInRoleAsync(user, "admin").Result)
            {
                data = _userManger.Users.ToList();
            }
            else
            {
                data = _userManger.Users.Where(x => x.UserName == user.UserName).ToList();
            }
            List <SignUpVendorVM> model = new List <SignUpVendorVM>();

            if (data != null)
            {
                foreach (var item in data)
                {
                    if (_userManger.IsInRoleAsync(item, "Vendor").Result)
                    {
                        if (_listOfAll.GetVendor().Where(x => x.UserId == item.Id).Any())
                        {
                            var            VendorData = _listOfAll.GetVendorById(item.Id);
                            SignUpVendorVM listVM     = new SignUpVendorVM();
                            listVM.Id          = item.Id;
                            listVM.FirstName   = item.FirstName;
                            listVM.LastName    = item.LastName;
                            listVM.Email       = item.Email;
                            listVM.PhoneNumber = item.PhoneNumber;
                            listVM.StoreName   = VendorData.StoreName;
                            listVM.Address     = VendorData.Address_Location;
                            listVM.VendorID    = VendorData.Id;

                            model.Add(listVM);
                        }
                    }
                }
            }

            return(View(model));
        }
Exemplo n.º 4
0
        public IActionResult AddVendor()
        {
            SignUpVendorVM model = new SignUpVendorVM();

            model.Area = _listOfAll.GetArea()?.Select(p => new SelectListItem()
            {
                Text  = p.AreaName,
                Value = p.Id.ToString()
            }).ToList();
            model.Category = _listOfAll.GetCategory()?.Select(p => new SelectListItem()
            {
                Text  = p.Name,
                Value = p.Id.ToString()
            }).ToList();
            model.Cuisine = _listOfAll.GetCuisine()?.Select(p => new SelectListItem()
            {
                Text  = p.Name,
                Value = p.Id.ToString()
            }).ToList();

            model.NunberOfLocation = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Value = "1 - 4", Text = "1 - 4"
                },
                new SelectListItem()
                {
                    Value = "4 - 10", Text = "4 - 10"
                },
                new SelectListItem()
                {
                    Value = "10 - 20", Text = "10 - 20"
                }
            };


            return(View(model));
        }
Exemplo n.º 5
0
        public IActionResult AddVendor(SignUpVendorVM model)
        {
            var    userId      = User.FindFirstValue(ClaimTypes.NameIdentifier);
            string contentPath = this.Environment.ContentRootPath;
            string path        = Path.Combine(contentPath, "Uploads");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string UniqueFileName = "";
            string fileName       = Path.GetFileName(model.SubmitterPicture.FileName);

            UniqueFileName = Guid.NewGuid() + "_" + fileName;
            using (FileStream stream = new FileStream(Path.Combine(path, UniqueFileName), FileMode.Create))
            {
                UniqueFileName = Guid.NewGuid() + "_" + fileName;
                model.SubmitterPicture.CopyTo(stream);
                ViewBag.Message += string.Format("<b>{0}</b> uploaded.<br />", fileName);
            }
            //Adding Vendor Information
            Vendor vendori = new Vendor();

            vendori.CategoryId       = model.CategoryId;
            vendori.CuisineId        = model.CuisineId;
            vendori.NumberOfLocation = model.NunberOfLocationName;
            vendori.StoreName        = model.StoreName;
            vendori.Website_Url      = model.Website_Url;
            vendori.UserId           = userId;
            vendori.Address_Location = model.Address;
            vendori.AreaId           = model.AreaId;
            vendori.UniqueFileName   = UniqueFileName;
            _efRepository.Add(vendori);
            _efRepository.SaveChanges();
            return(RedirectToAction("Index", "ManageAllUser"));
        }
Exemplo n.º 6
0
        public IActionResult SignUpVendor(SignUpVendorVM model)
        {
            bool   Status  = false;
            string Message = string.Empty;

            if (ModelState.IsValid)
            {
                // User Name Already Exsit
                var userName = _userManger.FindByNameAsync(model.Email).Result;
                if (userName != null)
                {
                    Message = "UserName Already Exsit.Please Enter Another UserName";
                    Status  = false;
                    return(Json(new { status = Status, message = Message }));
                }

                //User Email Already Exsit
                var userEmail = _userManger.FindByEmailAsync(model.Email).Result;
                if (userEmail != null)
                {
                    Message = "This Email is Already Exsit.Please Enter Another Email";
                    Status  = false;
                    return(Json(new { status = Status, message = Message }));
                }

                string contentPath = this.Environment.ContentRootPath;
                string path        = Path.Combine(contentPath, "Uploads");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string UniqueFileName = "";
                string fileName       = Path.GetFileName(model.SubmitterPicture.FileName);
                UniqueFileName = Guid.NewGuid() + "_" + fileName;
                // User
                var user = new AppUser();
                user.FirstName   = model.FirstName;
                user.Created     = DateTime.Now;
                user.LastName    = model.LastName;
                user.Email       = model.Email;
                user.UserName    = model.Email;
                user.PhoneNumber = model.PhoneNumber;



                // Add User In Database
                var result = _userManger.CreateAsync(user, model.Password).Result;
                if (result.Succeeded)
                {
                    using (FileStream stream = new FileStream(Path.Combine(path, UniqueFileName), FileMode.Create))
                    {
                        UniqueFileName = Guid.NewGuid() + "_" + fileName;
                        model.SubmitterPicture.CopyTo(stream);
                        ViewBag.Message += string.Format("<b>{0}</b> uploaded.<br />", fileName);
                    }
                    //Adding Vendor Information
                    Vendor vendori = new Vendor();
                    vendori.CategoryId       = model.CategoryId;
                    vendori.CuisineId        = model.CuisineId;
                    vendori.NumberOfLocation = model.NunberOfLocationName;
                    vendori.StoreName        = model.StoreName;
                    vendori.Website_Url      = model.Website_Url;
                    vendori.UserId           = user.Id;
                    vendori.Address_Location = model.Address;
                    vendori.AreaId           = model.AreaId;
                    vendori.UniqueFileName   = UniqueFileName;
                    _efRepository.Add(vendori);
                    _efRepository.SaveChanges();

                    //Add Role
                    AddRole("Vendor", user);

                    //Send Email Confirmation
                    //SendEmailConformationLink(user);

                    Status  = true;
                    Message = "Successfully Created Your Account";

                    // Redirect To SignInPage
                    return(Json(new { status = Status, message = Message }));
                }
                else
                {
                    Status  = false;
                    Message = "Error While Creating Your Account";
                    return(Json(new { status = Status, message = Message }));
                }
            }

            Message = "Provide all required and valid data to proceed";
            return(Json(new { status = Status, message = Message }));
        }
Exemplo n.º 7
0
 public async Task <BaseResponse> SignUpVendor([FromBody] SignUpVendorVM model)
 {
     return(constructResponse(await _businessWrapper.UserBL.SignUpVendor(model, model.SubmitterPicture)));
 }
Exemplo n.º 8
0
        public async Task <IActionResult> SignUpVendor(SignUpVendorVM model, string AreaIDs, string CusineIds, IFormFile upload)
        {
            bool   Status  = false;
            string Message = string.Empty;

            try
            {
                //List Of AreaIds
                List <string> ListOfArea = JsonConvert.DeserializeObject <List <string> >(AreaIDs);

                //List Of CusineIds
                List <string> ListOfCusineIds = JsonConvert.DeserializeObject <List <string> >(CusineIds);

                if (ModelState.IsValid)
                {
                    #region Check User Exist

                    // User Name Already Exsit
                    var userName = _userManger.FindByNameAsync(model.Email).Result;
                    if (userName != null)
                    {
                        Message = "UserName Already Exsit.Please Enter Another UserName";
                        Status  = false;
                        return(Json(new { status = Status, message = Message }));
                    }

                    //User Email Already Exsit
                    var userEmail = _userManger.FindByEmailAsync(model.Email).Result;
                    if (userEmail != null)
                    {
                        Message = "This Email is Already Exsit.Please Enter Another Email";
                        Status  = false;
                        return(Json(new { status = Status, message = Message }));
                    }


                    #endregion

                    // User
                    var user = new AppUser();
                    user.FirstName      = model.FirstName;
                    user.Created        = DateTime.Now;
                    user.LastName       = model.LastName;
                    user.Email          = model.Email;
                    user.UserName       = model.Email;
                    user.PhoneNumber    = model.PhoneNumber;
                    user.EmailConfirmed = true;
                    user.LockoutEnabled = false;

                    // Add User In Database
                    var result = _userManger.CreateAsync(user, model.Password).Result;
                    if (result.Succeeded)
                    {
                        string UniqueFileName = "";
                        try
                        {
                            #region Create File Path

                            var datetime = DateTime.Now;
                            UniqueFileName = datetime.Month + datetime.Day + datetime.Hour + datetime.Minute + datetime.Ticks + "-" + upload.FileName;
                            var path      = Directory.GetCurrentDirectory() + "/wwwroot/Uploads/";
                            var filemodel = System.IO.Path.Combine(path, UniqueFileName);
                            //Store file in Directory Folder
                            using (var stream1 = new FileStream(filemodel, FileMode.Create))
                            {
                                upload.CopyToAsync(stream1).Wait();
                            }
                            #endregion
                        }
                        catch (Exception ex)
                        {
                            return(Json(new { status = Status, message = ex.Message }));
                        }

                        //Adding Vendor Information
                        Vendor vendor = new Vendor();

                        #region Add other Category
                        Category category = new Category();
                        if (model.OtherCatregory != null)
                        {
                            //Check If Other Area Already Exist
                            if (!_listOfAll.CheckAlreadyExistCategory(model.OtherCatregory))
                            {
                                // Save Other Area
                                category.Name = model.OtherCatregory;
                                _efRepository.Add(category);
                                //Adding Cusine With vendor
                                if (_efRepository.SaveChanges())
                                {
                                    vendor.CategoryId = category.Id;
                                }
                            }
                            else
                            {
                                Status  = false;
                                Message = "Other Category Already Exist Please Use an Other One ";

                                //Delete User
                                var userdelete = _userManger.DeleteAsync(user).Result;
                                if (userdelete.Succeeded)
                                {
                                    return(Json(new { status = Status, message = Message }));
                                }
                            }
                        }
                        #endregion

                        if (model.OtherCatregory == null)
                        {
                            vendor.CategoryId = model.CategoryId;
                        }
                        vendor.NumberOfLocation = model.NunberOfLocationName;
                        vendor.StoreName        = model.StoreName;
                        vendor.Website_Url      = model.Website_Url;
                        vendor.UniqueFileName   = UniqueFileName;
                        vendor.UserId           = user.Id;
                        vendor.Address_Location = model.Address;
                        _efRepository.Add(vendor);
                        _efRepository.SaveChanges();

                        #region Adding Other Area

                        Area area = null;
                        if (model.OtherArea != null)
                        {
                            area = new Area();
                            //Check If Other Area Already Exist
                            if (!_listOfAll.CheckAlreadyExistArea(model.OtherArea))
                            {
                                // Save Other Area
                                area.AreaName = model.OtherArea;
                                _efRepository.Add(area);
                                VendorWithArea driverWithArea = null;
                                if (_efRepository.SaveChanges())
                                {
                                    driverWithArea          = new VendorWithArea();
                                    driverWithArea.AreaId   = area.Id;
                                    driverWithArea.VendorId = vendor.Id;
                                    _efRepository.Add(driverWithArea);
                                    var resul = _efRepository.SaveChanges();
                                }
                            }
                            else
                            {
                                Status  = false;
                                Message = "Other Area Already Exist Please Use an Other One ";

                                //Delete User
                                var userDelete = _userManger.DeleteAsync(user).Result;
                                if (userDelete.Succeeded)
                                {
                                    //Delete Driver
                                    _efRepository.Delete(vendor);

                                    _efRepository.SaveChanges();
                                }
                                return(Json(new { status = Status, message = Message }));
                            }
                        }

                        #endregion

                        #region Adding Other Cusine
                        Cuisine cuisine = new Cuisine();
                        if (model.OtherCusine != null)
                        {
                            //Check If Other Area Already Exist
                            if (!_listOfAll.CheckAlreadyExistCusine(model.OtherCusine))
                            {
                                // Save Other Area
                                cuisine.Name = model.OtherCusine;
                                _efRepository.Add(cuisine);
                                VendorWithCuisine vendorwithCusine = null;

                                //Adding Cusine With vendor
                                if (_efRepository.SaveChanges())
                                {
                                    vendorwithCusine           = new VendorWithCuisine();
                                    vendorwithCusine.CuisineId = cuisine.Id;
                                    vendorwithCusine.VendorId  = vendor.Id;
                                    _efRepository.Add(vendorwithCusine);
                                    var resul = _efRepository.SaveChanges();
                                }
                            }
                            else
                            {
                                Status  = false;
                                Message = "Other Cusine Already Exist Please Use an Other One ";

                                //Delete User
                                var userdelete = _userManger.DeleteAsync(user).Result;
                                if (userdelete.Succeeded)
                                {
                                    //Delete Area
                                    if (area != null)
                                    {
                                        _efRepository.Delete(area);
                                        //Delete Vendor With Area
                                        var vendorarea = _listOfAll.GetVendorWithAreaById(area.Id);
                                        _efRepository.Delete(vendorarea);
                                    }

                                    //Delete Driver
                                    _efRepository.Delete(vendor);

                                    _efRepository.SaveChanges();
                                }
                                return(Json(new { status = Status, message = Message }));
                            }
                        }
                        #endregion

                        #region Adding List Of Area and Cusine
                        // Save Multipale Area
                        if (ListOfArea.Count() > 0)
                        {
                            foreach (var item in ListOfArea)
                            {
                                VendorWithArea driverWithArea = new VendorWithArea();
                                driverWithArea.AreaId   = Convert.ToInt32(item);
                                driverWithArea.VendorId = vendor.Id;
                                _efRepository.Add(driverWithArea);
                                var resul = _efRepository.SaveChanges();
                            }
                        }

                        // Save Multipale Cusine
                        if (ListOfCusineIds.Count() > 0)
                        {
                            foreach (var item in ListOfCusineIds)
                            {
                                VendorWithCuisine cusineWithArea = new VendorWithCuisine();
                                cusineWithArea.CuisineId = Convert.ToInt32(item);
                                cusineWithArea.VendorId  = vendor.Id;
                                _efRepository.Add(cusineWithArea);
                                var resul = _efRepository.SaveChanges();
                            }
                        }

                        #endregion

                        //Add Role
                        AddRole("Vendor", user);

                        //Send Email Confirmation
                        //SendEmailConformationLink(user);

                        Status  = true;
                        Message = "Successfully Created Your Account";

                        // Redirect To SignInPage
                        return(Json(new { status = Status, message = Message }));
                    }
                    else
                    {
                        Status  = false;
                        Message = "Error While Creating Your Account";
                        return(Json(new { status = Status, message = Message }));
                    }
                }

                Message = "Provide all required and valid data to proceed";
                return(Json(new { status = Status, message = Message }));
            }
            catch (Exception ex)
            {
                return(Json(new { status = Status, message = ex.StackTrace }));
            }
        }