public async Task <IActionResult> Edit(int id)
        {
            var model = await _departmentRepository.GetAll().Include(a => a.Administrator).AsNoTracking()
                        .FirstOrDefaultAsync(a => a.DepartmentID == id);

            if (model == null)
            {
                ViewBag.ErrorMessage = $"教师{id}的信息不存在,请重试。";
                return(View("NotFound"));
            }
            var teacherList = TeachersDropDownList();
            var dto         = new DepartmentCreateViewModel
            {
                DepartmentID  = model.DepartmentID,
                Name          = model.Name,
                Budget        = model.Budget,
                StartDate     = model.StartDate,
                TeacherID     = model.TeacherID,
                Administrator = model.Administrator,
                RowVersion    = model.RowVersion,
                TeacherList   = teacherList
            };

            return(View(dto));
        }
        public ActionResult Create(DepartmentCreateViewModel viewModel)
        {
            try
            {
                var newDept = viewModel.Department;

                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"INSERT INTO Department (Name, Budget)
                                            VALUES (@Name, @Budget);";
                        cmd.Parameters.Add(new SqlParameter("@Name", newDept.Name));
                        cmd.Parameters.Add(new SqlParameter("@Budget", newDept.Budget));
                        cmd.ExecuteNonQuery();
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Пример #3
0
        public IActionResult Create(DepartmentCreateViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (model.Name.Trim().Length <= 0)
            {
                response.SetFailed("请输入科室名称");
                return(Ok(response));
            }
            using (_dbContext)
            {
                if (_dbContext.Department.Count(x => x.Name == model.Name) > 0)
                {
                    response.SetFailed("科室名已存在");
                    return(Ok(response));
                }
                var entity = new Department();
                entity.DepartmentUuid = Guid.NewGuid();
                entity.Name           = model.Name;                                 //部门名称
                entity.EstablishTime  = DateTime.Now.ToString("yyyy-MM-dd");        //添加时间
                entity.EstablishName  = AuthContextService.CurrentUser.DisplayName; //添加人
                entity.IsDeleted      = 0;
                _dbContext.Department.Add(entity);
                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("添加", "成功:添加:部门信息一条数据", _dbContext);
                }
                response.SetSuccess();
                return(Ok(response));
            }
        }
Пример #4
0
 public ActionResult CreateDepartmentPost(DepartmentCreateViewModel model)
 {
     if (ModelState.IsValid)
     {
         var department = new DepartmentRecord {
             Name = model.Name
         };
         //create parent department.
         if (model.ParentDepartmentId.HasValue)
         {
             department.ParentDepartmentRecord = _departmentService.GetDepartment(model.ParentDepartmentId.Value);
         }
         //create postions.
         foreach (var item in model.AvailablePositions.Where(c => c.IsSelected).ToList())
         {
             department.PositionDepartmentRecords.Add(new PositionsDepartmentRecord {
                 DepartmentRecord = department, PositionRecord = new PositionRecord {
                     Id = item.Id
                 }
             });
         }
         _departmentService.CreateDepartment(department);
         _orchardServices.Notifier.Add(NotifyType.Information, T("The department information has been created."));
         return(RedirectToAction("EditDepartment", new { id = department.Id }));
     }
     model.UpdateViewModel(_departmentService.ListDepartments(), _departmentService.ListPositions());
     return(View(model));
 }
        public IActionResult Create(DepartmentCreateViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (model.DepartmentName.Trim().Length <= 0)
            {
                response.SetFailed("请输入科室名称");
                return(Ok(response));
            }
            using (_dbContext)
            {
                if (_dbContext.Department.Count(x => x.DepartmentName == model.DepartmentName) > 0)
                {
                    response.SetFailed("科室名已存在");
                    return(Ok(response));
                }
                var entity = new Department();
                entity.DepartmentUuid = Guid.NewGuid();
                entity.DepartmentName = model.DepartmentName;
                entity.AddTime        = DateTime.Now.ToString("yyyy-MM-dd");
                entity.AddPeople      = AuthContextService.CurrentUser.DisplayName;
                entity.IsDeleted      = 0;
                _dbContext.Department.Add(entity);
                _dbContext.SaveChanges();

                response.SetSuccess();
                return(Ok(response));
            }
        }
Пример #6
0
        public IActionResult Edit(DepartmentCreateViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (ConfigurationManager.AppSettings.IsTrialVersion)
            {
                response.SetIsTrial();
                return(Ok(response));
            }
            using (_dbContext)
            {
                if (_dbContext.Department.Count(x => x.Name == model.Name && x.DepartmentUuid != model.DepartmentUuid) > 0)
                {
                    response.SetFailed("科室已存在");
                    return(Ok(response));
                }

                var entity = _dbContext.Department.FirstOrDefault(x => x.DepartmentUuid == model.DepartmentUuid);
                entity.Name = model.Name;

                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("编辑", "成功:编辑:部门信息一条数据", _dbContext);
                }
                return(Ok(response));
            }
        }
        public static DepartmentAggregate ToModel(this DepartmentCreateViewModel model)
        {
            DepartmentAggregate entity = null;

            if (model != null)
            {
                var    ids   = Regex.Split(model.FacilityId, @"#\$#").ToList();
                string fId   = ids[0];
                string fName = "";
                if (ids.Count() > 1)
                {
                    fName = ids[1];
                }
                entity = new DepartmentAggregate()
                {
                    Id           = Guid.NewGuid(),
                    Name         = model.Name,
                    FacilityId   = new Guid(fId),
                    FacilityName = fName,
                    Description  = model.Description,
                };
            }

            return(entity);
        }
Пример #8
0
        public async Task <ActionResult> Create(DepartmentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (!string.IsNullOrEmpty(model.Name))
                {
                    var depart = await DepartmentManager.FindDepartmentByNameAsync(model.Name);

                    if (depart == null)
                    {
                        depart = new Department()
                        {
                            Name = model.Name
                        };
                        await DepartmentManager.AddEntityAsync(depart);

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "已有相同名称");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "不能为空");
                }
            }
            return(View(model));
        }
Пример #9
0
        public ActionResult CreateDepartment()
        {
            var viewModel = new DepartmentCreateViewModel();

            viewModel.UpdateViewModel(_departmentService.ListDepartments(), _departmentService.ListPositions());
            return(View(viewModel));
        }
        public ActionResult Create(DepartmentCreateViewModel viewModel)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"INSERT INTO Department ([name], budget)
                                            VALUES (@name, @budget)";
                        cmd.Parameters.Add(new SqlParameter("@name", viewModel.Department.Name));
                        cmd.Parameters.Add(new SqlParameter("@budget", viewModel.Department.Budget));

                        cmd.ExecuteReader();

                        return(RedirectToAction(nameof(Index)));
                    }
                }
            }
            catch
            {
                return(View());
            }
        }
Пример #11
0
        public IActionResult Create()
        {
            var dto = new DepartmentCreateViewModel {
                TeacherList = TeacherDropDownList()
            };

            return(View(dto));
        }
Пример #12
0
        public ActionResult Create(DepartmentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                this.departments.Create(model.Name, model.Description, model.DivisionId);
                TempData["Success"] = SuccessMessagesConstants.DepartmentCreated;
                return(Redirect("~/admin/departments"));
            }

            return(Create());
        }
        public ActionResult Create(DepartmentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                this.departments.Create(model.Name, model.Description, model.DivisionId);
                TempData["Success"] = SuccessMessagesConstants.DepartmentCreated;
                return Redirect("~/admin/departments");
            }

            return Create();
        }
Пример #14
0
        public HttpResponseMessage PostDept(DepartmentCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }
            Department item = Mapper.Map <DepartmentCreateViewModel, Department>(model);


            _departmentService.Add(item);
            _db.SaveChanges();
            return(new HttpResponseMessage(HttpStatusCode.OK));
        }
Пример #15
0
        public static void UpdateViewModel(this DepartmentCreateViewModel model, IList <DepartmentRecord> departments, IList <PositionRecord> positions)
        {
            var availablePositions = positions.Select(c => c.CreateAvailablePosition()).ToList();

            if (model.AvailablePositions != null)
            {
                foreach (var item in availablePositions)
                {
                    item.IsSelected = (model.AvailablePositions.Any(c => c.Id == item.Id && c.IsSelected));
                }
            }
            model.AvailableDepartments = departments;
            model.AvailablePositions   = availablePositions;
        }
Пример #16
0
        public IActionResult Post(DepartmentCreateViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                Department department = model.ToEntity();
                var        repo       = this.Storage.GetRepository <IDepartmentRepository>();

                repo.Create(department, GetCurrentUserName());
                this.Storage.Save();

                return(Ok(new { success = true }));
            }
            return(BadRequest(new { success = false }));
        }
        public async Task CreatePost_ReturnsRedirectToActionResult_Index()
        {
            var vm = new DepartmentCreateViewModel
            {
                Name         = "Biology",
                Budget       = 100,
                StartDate    = DateTime.Parse("2007-09-01"),
                InstructorID = 1
            };

            var result = await sut.Create(vm);

            Assert.IsType <RedirectToActionResult>(result);
            Assert.Equal("Index", ((RedirectToActionResult)result).ActionName);
        }
Пример #18
0
        public async Task <IActionResult> Create(DepartmentCreateViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var department = _mapper.Map <Department>(vm);
                await _departmentRepo.AddAsync(department);

                await _departmentRepo.SaveChangesAsync();

                return(RedirectToAction("Index", new { newid = department.ID }));
            }

            ViewData["InstructorID"] = new SelectList(_instructorRepo.GetAll(), "ID", "FullName", vm.InstructorID);
            return(View(vm));
        }
        public IActionResult Create(DepartmentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var  department = _mapper.Map <Department>(model);
                bool isSaved    = _departmentRepository.Add(department);

                if (isSaved)
                {
                    ViewBag.Message = "Saved Successfully!";
                }
            }
            ModelState.Clear();
            return(View());
        }
Пример #20
0
        public async Task <IActionResult> Create([FromBody] DepartmentCreateViewModel input)
        {
            var user       = User.GetDetails();
            var department = new Department(input.Name, input.Code, input.Status, user.Id);

            if (await _unitOfWork.Departments.AnyAsync(department))
            {
                return(BadRequest("Department Already Exists"));
            }

            _unitOfWork.Departments.Add(department);
            await _unitOfWork.CompleteAsync(user.Id);

            return(Ok(department));
        }
Пример #21
0
        //[Authorize(Policy = "CreateRolePolicy")]
        public async Task <IActionResult> Create(DepartmentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                Department department = new Department
                {
                    Name        = model.Department.Name,
                    Description = model.Department.Description
                };

                await departmentService.AddDepartment(department);

                ViewBag.message = $"Employee {model.Department.Name} is successfullly saved to DataBase";

                return(RedirectToAction("details", new { id = department.Id }));
            }
            return(View());
        }
Пример #22
0
        public async Task <IActionResult> Create(DepartmentCreateViewModel input)
        {
            if (ModelState.IsValid)
            {
                Department model = new Department
                {
                    StartDate    = input.StartDate,
                    DepartmentID = input.DepartmentID,
                    TeacherID    = input.TeacherID,
                    Budget       = input.Budget,
                    Name         = input.Name
                };
                await _departmentRepository.InsertAsync(model);

                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
Пример #23
0
        public async Task <IActionResult> Create(DepartmentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var department = new Department
                {
                    Id             = model.Id,
                    DepartmentCode = model.DepartmentCode,
                    DepartmentName = model.DepartmentName,
                    Address        = model.Address,
                    Status         = true
                };
                await _departmentService.CreateAsync(department);

                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
Пример #24
0
        public async Task <ActionResult> Create(DepartmentCreateViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var dep = model.ToModel();
                    await this._departmentAggregateManagementService.AddDepartmentAsync(dep);

                    return(RedirectToAction("Index"));
                }

                return(View(model));
                // TODO: Add insert logic here
            }
            catch
            {
                return(View(model));
            }
        }
Пример #25
0
        public async Task <IHttpActionResult> PostDepartment(DepartmentCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var department = await _departments.Add(new Department
            {
                Name = model.Name
            });

            try {
                var result = (DepartmentResultViewModel)department;
                return(CreatedAtRoute("DefaultApi", new { id = department.Id }, result));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Пример #26
0
        public async Task <IActionResult> Edit(int id)
        {
            //    var department = _dbcontext.Departments
            //        .Single(b => b.DepartmentID == id);
            ////Collection()方法表示,实体与另外一个Collection集合之间的关联关系
            //_dbcontext.Entry(department)
            //        .Collection(b => b.Courses)
            //        .Load();

            ////  Reference()方法表示,可用于两个实体时间的关联
            //_dbcontext.Entry(department)
            //        .Reference(b => b.Administrator)
            //        .Load();


            var department = await _departmentRepository.FirstOrDefaultAsync(a => a.DepartmentID == id);

            var model = await _departmentRepository.GetAll().Include(a => a.Administrator).AsNoTracking()
                        .FirstOrDefaultAsync(a => a.DepartmentID == id);

            if (model == null)
            {
                ViewBag.ErrorMessage = $"教师{id}的信息不存在,请重试。";
                return(View("NotFound"));
            }
            var teacherList = TeachersDropDownList();
            var dto         = new DepartmentCreateViewModel
            {
                DepartmentID  = model.DepartmentID,
                Name          = model.Name,
                Budget        = model.Budget,
                StartDate     = model.StartDate,
                TeacherID     = model.TeacherID,
                Administrator = model.Administrator,
                RowVersion    = model.RowVersion,
                TeacherList   = teacherList
            };

            return(View(dto));
        }
Пример #27
0
        public async Task <ActionResult> Create()
        {
            try
            {
                DepartmentCreateViewModel model = new DepartmentCreateViewModel();
                var fmodel = await _organizationManagementService.GetAllFacilitiesAsync();

                if (fmodel != null)
                {
                    model.FacilitiesModel = fmodel.Select(x => new SelectListItem()
                    {
                        Value = x.Id.ToString() + "#$#" + x.Name.Replace(" ", "#+#"),
                        Text  = x.Name
                    });
                }

                return(View(model));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Create(DepartmentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                //Debug Purpose to see if we are getting the data
                Debug.WriteLine("I'm pulling data of " + model.name);

                if (model.name != "")
                {
                    //The query to add a new Department
                    string       query    = "INSERT INTO Departments (departmentName) VALUES (@departmentName)";
                    SqlParameter sqlparam = new SqlParameter("@departmentName", model.name);

                    //Run the sql command
                    db.Database.ExecuteSqlCommand(query, sqlparam);

                    //Go back to the list of Department to see the added Department
                    return(RedirectToAction("Index"));
                }
            }

            //Something failed, redisplay form
            return(View(model));
        }
Пример #29
0
        public async Task <IActionResult> Edit(DepartmentCreateViewModel input)
        {
            if (ModelState.IsValid)
            {
                var model = await _departmentRepository.GetAll().Include(i => i.Administrator).FirstOrDefaultAsync(i => i.DepartmentID == input.DepartmentID);

                if (model == null)
                {
                    ViewBag.Title = $"学院ID为{input.DepartmentID}的信息不存在,请稍后重试";
                    return(View("NotFound"));
                }
                model.DepartmentID = input.DepartmentID;
                model.Name         = input.Name;
                model.Budget       = input.Budget;
                model.StartDate    = input.StartDate;
                model.TeacherID    = input.TeacherID;
                // 从数据库中获取Department实体中RowVersion属性,然后将input.RowVersion赋值到OriginalValue中
                _dbContext.Entry(model).Property("RowVersion").OriginalValue = input.RowVersion;
                try
                {
                    await _departmentRepository.UpdateAsync(model);

                    return(RedirectToAction(nameof(Index)));
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    //触发异常后,获取异常实体
                    var exceptionEntry = ex.Entries.Single();
                    var clientValues   = (Department)exceptionEntry.Entity;
                    // 从数据库获取异常实体信息
                    var databaseEntity = exceptionEntry.GetDatabaseValues();
                    if (databaseEntity == null)
                    {
                        ModelState.AddModelError(string.Empty, "无法进行数据的修改。该学院信息已被其他人所删除!");
                    }
                    else
                    {
                        // 将异常实体中的错误信息精确到具体字段传递到视图中
                        var databaseValues = (Department)databaseEntity.ToObject();
                        if (databaseValues.Name != clientValues.Name)
                        {
                            ModelState.AddModelError("Name", $"当前值:{databaseValues.Name}");
                        }
                        if (databaseValues.Budget != clientValues.Budget)
                        {
                            ModelState.AddModelError("Budget", $"当前值:{databaseValues.Budget}");
                        }
                        if (databaseValues.StartDate != clientValues.StartDate)
                        {
                            ModelState.AddModelError("StartDate", $"当前值:{databaseValues.StartDate}");
                        }
                        if (databaseValues.TeacherID != clientValues.TeacherID)
                        {
                            var teacherEntity = await _teacherRepository.FirstOrDefaultAsync(i => i.Id == databaseValues.TeacherID);

                            ModelState.AddModelError("TeacherID", $"当前值:{teacherEntity?.Name}");
                        }
                        ModelState.AddModelError(string.Empty, "您正在编辑的记录已经被其他用户所修改,编辑操作已经被取消,数据库当前值已显示到页面上,请再次保存,或返回列表");
                        input.RowVersion  = databaseValues.RowVersion;
                        input.TeacherList = TeacherDropDownList();
                        ModelState.Remove("RowVersion");
                    }
                }
            }
            return(View(input));
        }
        public async Task <IActionResult> Edit(DepartmentCreateViewModel input)
        {
            if (ModelState.IsValid)
            {
                var model = await _departmentRepository.GetAll().Include(a => a.Administrator).FirstOrDefaultAsync(a => a.DepartmentId == input.DepartmentId);

                if (model == null)
                {
                    ViewBag.ErrorMessage = $"学院信息Id为{input.DepartmentId}的信息不存在!";
                    return(View("NotFound"));
                }
                model.DepartmentId  = input.DepartmentId;
                model.Name          = input.Name;
                model.Budget        = input.Budget;
                model.Administrator = input.Administrator;
                model.StartDate     = input.StartDate;
                model.TeacherId     = input.TeacherId;

                //从数据中获取实体中的RowVersion属性,然后将当前用户提交的RowVersion赋值到OriginalValue中,EF Core会对这两个值进行比较
                _dbContext.Entry(model).Property("RowVersion").OriginalValue = input.RowVersion;
                try
                {
                    //UpdateAsync方法执行SaveChangesAsync()方法时,如果检测到并发冲突则会触发DbUpdateConcurrencyException异常
                    await _departmentRepository.UpdateAsync(model);

                    return(RedirectToAction(nameof(Index)));
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    //获取异常的实体
                    var exceptionEntry = ex.Entries.Single();
                    var clientValues   = (Department)exceptionEntry.Entity;

                    //从数据库中获取实体异常信息
                    var databaseEntry = exceptionEntry.GetDatabaseValues();
                    if (databaseEntry == null)
                    {
                        ModelState.AddModelError(string.Empty, "无法进行数据修改,该信息已经被其他人所删除!");
                    }
                    else
                    {
                        var databaseValues = (Department)databaseEntry.ToObject();
                        if (databaseValues.Name != clientValues.Name)
                        {
                            ModelState.AddModelError("Name", $"当前值:{databaseValues.Name}");
                        }
                        if (databaseValues.Budget != clientValues.Budget)
                        {
                            ModelState.AddModelError("Budget", $"当前值:{databaseValues.Budget}");
                        }
                        if (databaseValues.StartDate != clientValues.StartDate)
                        {
                            ModelState.AddModelError("StartDate", $"当前值:{databaseValues.StartDate}");
                        }
                        if (databaseValues.TeacherId != clientValues.TeacherId)
                        {
                            var teacherEntity = await _teacherRepository.FirstOrDefaultAsync(a => a.Id == databaseValues.TeacherId);

                            ModelState.AddModelError("TeacherId", $"当前值:{teacherEntity?.Name}");
                        }
                        ModelState.AddModelError(string.Empty, $"你正在编辑的记录已经被其他用户修改,编辑操作已经被取消,数据库当前的值已经显示在页面上,请再次单击保存,否则请返回列表。");
                        input.RowVersion = databaseValues.RowVersion;

                        //初始化教师列表
                        input.TeacherList = TeachersDropDownList();
                        ModelState.Remove("RowVersion");
                    }
                }
            }
            return(View(input));
        }
        public async Task <ActionResult <ResponseModel> > Create(DepartmentCreateViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (model.Name.Trim().Length <= 0)
            {
                response.SetFailed("请输入部门名称");
                return(Ok(response));
            }

            await using (_dbContext)
            {
                if (_dbContext.DncRole.Count(x => x.Name == model.Name) > 0)
                {
                    response.SetFailed("角色已存在");
                    return(Ok(response));
                }
                var entity = _mapper.Map <DepartmentCreateViewModel, UserDepartment>(model);

                entity.CreatedOn         = DateTime.Now;
                entity.Code              = RandomHelper.GetRandomizer(8, true, false, true, true);
                entity.CreatedByUserGuid = AuthContextService.CurrentUser.Guid;
                entity.CreatedByUserName = AuthContextService.CurrentUser.DisplayName;
                foreach (var day in model.RestDays)
                {
                    switch (int.Parse(day))
                    {
                    case 1:
                        entity.Monday = null;
                        break;

                    case 2:
                        entity.Tuesday = null;
                        break;

                    case 3:
                        entity.Wednesday = null;
                        break;

                    case 4:
                        entity.Thursday = null;
                        break;

                    case 5:
                        entity.Friday = null;
                        break;

                    case 6:
                        entity.Saturday = null;
                        break;

                    case 7:
                        entity.Sunday = null;
                        break;

                    default:
                        break;
                    }
                }
                await _dbContext.UserDepartment.AddAsync(entity);

                await _dbContext.SaveChangesAsync();

                response.SetSuccess();
                return(Ok(response));
            }
        }