示例#1
0
        public ActionResult AdminCenterRegister(AdminClientViewModel newCenter)
        {
            var servicesList = Session["Services"] as List <List <string> >;

            try
            {
                if (!ModelState.IsValid)
                {
                    ModelState.AddModelError("", "خطأ في ادخال البيانات من فضلك تأكد من البيانات جيدا");
                    newCenter.Cities   = context.Cities.ToList();
                    newCenter.typeList = context.ServiceTypes.ToList();
                    var servicesDB = context.Services.Where(s => s.IsDeleted == false).ToList();

                    newCenter.services = servicesDB;
                    return(View(newCenter));
                }
                // add logo into image folder.
                string ImageFileName;
                string fileName  = Path.GetFileNameWithoutExtension(newCenter.file.FileName);
                string extension = Path.GetExtension(newCenter.file.FileName);
                fileName      = fileName + DateTime.Now.Millisecond.ToString() + extension;
                ImageFileName = fileName;
                fileName      = Path.Combine(Server.MapPath("~/Content/Images/"), fileName);
                newCenter.file.SaveAs(fileName);

                //add beauty center.
                addBeautyCenter(newCenter, ImageFileName);

                int CenterID = context.BeautyCenters.Max(c => c.ID);
                addServicesToCenter(servicesList, CenterID);
                // add admin user
                bool isSuccess = addAdminCenter(newCenter, CenterID);

                if (isSuccess)
                {
                    return(RedirectToAction("Index", "CenterAdmin"));
                }
                else
                {
                    newCenter.Cities   = context.Cities.ToList();
                    newCenter.typeList = context.ServiceTypes.ToList();
                    var servicesDB = context.Services.Where(s => s.IsDeleted == false).ToList();

                    newCenter.services = servicesDB;
                    return(View(newCenter));
                }
            }
            catch (Exception ex)
            {
                newCenter.Cities   = context.Cities.ToList();
                newCenter.typeList = context.ServiceTypes.ToList();
                var servicesDB = context.Services.Where(s => s.IsDeleted == false).ToList();

                newCenter.services = servicesDB;
                return(View(newCenter));
            }
        }
示例#2
0
        public ActionResult AdminCenterRegister()
        {
            AdminClientViewModel adminClientVM = new AdminClientViewModel();

            adminClientVM.Cities   = context.Cities.ToList();
            adminClientVM.typeList = context.ServiceTypes.ToList();

            var servicesDB = context.Services.Where(s => s.IsDeleted == false).ToList();

            adminClientVM.services = servicesDB;

            return(View(adminClientVM));
        }
示例#3
0
        private void addBeautyCenter(AdminClientViewModel newCenter, string ImageFileName)
        {
            BeautyCenter center = new BeautyCenter()
            {
                Name        = newCenter.CenterName,
                CityID      = newCenter.CityID,
                Logo        = ImageFileName,
                Gender      = newCenter.Gender,
                Description = newCenter.Description,
                Address     = newCenter.Address,
                UpdatedDate = DateTime.Now
            };

            context.BeautyCenters.Add(center);
            context.SaveChanges();
        }
示例#4
0
        private bool addAdminCenter(AdminClientViewModel newCenter, int centerID)
        {
            ApplicationUser admin = new ApplicationUser()
            {
                Name         = newCenter.AdminName,
                UserName     = newCenter.Username,
                PasswordHash = newCenter.Password,
                PhoneNumber  = newCenter.Phone,
                Email        = newCenter.Email
            };

            ApplicationDbContext DBContext = new ApplicationDbContext();
            ApplicationStore     store     = new ApplicationStore(DBContext);
            ApplicationManager   manager   = new ApplicationManager(store);
            IdentityResult       Result    = manager.CreateAsync(admin, newCenter.Password).Result;
            var RoleResult = manager.AddToRoleAsync(admin.Id, "CenterAdmin").Result;

            if (Result.Succeeded)
            {
                IAuthenticationManager authentication          = HttpContext.GetOwinContext().Authentication;
                SignInManager <ApplicationUser, string> signIn = new SignInManager <ApplicationUser, string>(manager, authentication);
                signIn.SignIn(admin, false, false);
                // add admin info to center admin table
                CenterAdmin centerAdmin = new CenterAdmin()
                {
                    UserID   = admin.Id,
                    NID      = newCenter.NID,
                    CenterID = centerID,

                    NiDImage = newCenter.NID,
                };
                context.CenterAdmins.Add(centerAdmin);
                context.SaveChanges();
                return(true);
            }
            else
            {
                string error = "";
                foreach (var err in Result.Errors)
                {
                    error += err + " ";
                }
                ModelState.AddModelError("", error);
                return(false);
            }
        }