コード例 #1
0
        public async Task <ActionResult> Create(CreateWorkerViewModel model, string act)
        {
            if (ModelState.IsValid)
            {
                byte[] imageData = null;

                using (var binaryReader = new BinaryReader(model.Avatar.OpenReadStream()))
                {
                    imageData = binaryReader.ReadBytes((int)model.Avatar.Length);
                }

                Worker worker = new Worker()
                {
                    FullName       = model.FullName,
                    Education      = model.Education,
                    Status         = model.Status,
                    Email          = model.Email,
                    EmailConfirmed = model.EmailConfirmed,
                    Position       = model.Position,
                    Avatar         = imageData
                };

                await db.AddAsync(worker);

                await db.SaveChangesAsync();

                if (act == "Confirm")
                {
                    return(RedirectToAction(act, new { id = worker.Id }));
                }
                return(RedirectToAction(act));
            }
            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> CreateWorker(CreateWorkerViewModel model)
        {
            int er = 0;

            if (ModelState.IsValid && (er = db.Workers.Count(p => p.fioWorker == model.fioWorker)) == 0)
            {
                try
                {
                    Worker worker = new Worker
                    {
                        fioWorker        = model.fioWorker,
                        postID           = model.postID,
                        dateOfEmployment = model.dateOfEmployment,
                        dateOfDismissal  = model.dateOfDismissal,
                        salary           = model.salary
                    };
                    await db.Workers.AddAsync(worker);

                    await db.SaveChangesAsync();

                    return(RedirectToAction("Workers", new { id = model.postID }));
                }
                catch (Exception ex)
                {
                }
            }
            if (er != 0)
            {
                ModelState.AddModelError("fioWorker", "Запись с таким именем уже есть");
            }
            ViewBag.postID = model.postID;
            return(View(model));
        }
コード例 #3
0
        public async Task <IActionResult> Create(CreateWorkerViewModel model)
        {
            int er = 0;

            if (ModelState.IsValid && (er = db.Workers.Count(p => p.WorkerFIO == model.WorkerFIO)) == 0)
            {
                Worker worker = new Worker
                {
                    WorkerFIO  = model.WorkerFIO,
                    WorkerPost = model.WorkerPost
                };
                await db.Workers.AddAsync(worker);

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            if (er != 0)
            {
                ModelState.AddModelError("WorkerFIO", "Record with the same FIO already exists");
            }
            return(View(model));
        }
コード例 #4
0
        public ActionResult CreateWorker()
        {
            if (GetMyRoles() != null || GetMyRoles().Contains("admin") || GetMyRoles().Contains("dephead"))
            {
                CreateWorkerViewModel model = new CreateWorkerViewModel();
                model.DropdownData = new List <SelectListItem>();
                foreach (WorkerStatus item in Enum.GetValues(typeof(WorkerStatus)))
                {
                    model.DropdownData.Add(new SelectListItem
                    {
                        Text  = ApplicationHelper.GetWorkerStatusDesc(item),
                        Value = ((int)item).ToString()
                    });
                }

                return(View(model));
            }
            else
            {
                ViewBag.Success = false;
                ViewBag.Message = "У вас нет доступа";
                return(View("Result"));
            }
        }
コード例 #5
0
        public ActionResult CreateWorker(CreateWorkerViewModel model)
        {
            if (ModelState.IsValid)
            {
                ApplicationDbContext dbContext = new ApplicationDbContext();
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                string password = ApplicationHelper.GeneratePassword(5);

                var result = UserManager.Create(user, password);

                if (result.Succeeded)
                {
                    if (model.isProfessor)
                    {
                        UserManager.AddToRole(user.Id, "professor");
                    }
                    else
                    {
                        UserManager.AddToRole(user.Id, "Personal");
                    }
                    try
                    {
                        Worker worker = new Worker();
                        worker.Firstname     = model.Firstname;
                        worker.MiddleName    = model.MiddleName != null ? model.MiddleName : "";
                        worker.LastName      = model.LastName;
                        worker.UserId        = user.Id;
                        worker.ScienceDegree = model.ScienceDegree;
                        worker.Status        = (WorkerStatus)int.Parse(model.Status);
                        worker.isItProfessor = model.isProfessor;
                        worker.UserName      = user.UserName;
                        dbContext.Workers.Add(worker);
                        dbContext.SaveChanges();

                        ViewBag.Success = true;
                        ViewBag.Message = "Студент:" + worker.LastName + " " + worker.Firstname + " Логин:" + user.Email + " Пароль:" + password;
                        return(View("Result"));
                    }
                    catch (Exception)
                    {
                        var _result = UserManager.Delete(user);
                        ViewBag.Success = false;
                        ViewBag.Message = "Добавление не удалось";
                        return(View("Result"));
                    }
                }
                else
                {
                    AddErrors(result);
                }
                model.DropdownData = new List <SelectListItem>();
                foreach (WorkerStatus item in Enum.GetValues(typeof(WorkerStatus)))
                {
                    model.DropdownData.Add(new SelectListItem
                    {
                        Text  = ApplicationHelper.GetWorkerStatusDesc(item),
                        Value = ((int)item).ToString()
                    });
                }
            }

            return(View(model));
        }