public async Task <object> AddSingleDpearment([FromBody] AddSingleDeparmentDto addSingleDeparmentDto)
        {
            var    context = HttpContext;
            string account = await _jwtUtil.GetMessageByToken(context);

            addSingleDeparmentDto.CompId = _commonAppService.GetUserCompId(account);
            return(_dangAnAppService.AddSingleDpearment(addSingleDeparmentDto));
        }
Пример #2
0
        /// <summary>
        /// 单个添加部门
        ///
        /// </summary>
        /// <param name="deparmentDto"></param>
        /// <returns></returns>
        public object AddSingleDpearment(AddSingleDeparmentDto deparmentDto)
        {
            var dep    = _ctx.Deparment.SingleOrDefault(d => d.Name.Equals(deparmentDto.Name) && d.CompanyId.Equals(deparmentDto.CompId));
            var result = new object();

            if (dep != null)
            {
                result = new
                {
                    isSuccess = false,
                    message   = "该部门已存在"
                }
            }
            ;
            else
            {
                Deparment deparment = new Deparment()
                {
                    Name        = deparmentDto.Name,
                    CompanyId   = deparmentDto.CompId,
                    Code        = "01",
                    ManagerId   = deparmentDto.MangerId,
                    WorkerCount = deparmentDto.WorkerCount,
                };
                if (deparmentDto.MangerId == null)
                {
                    _ctx.Deparment.Add(deparment);
                    _ctx.Company.Find(deparmentDto.CompId).DeparmentCount++;
                    _ctx.SaveChanges();
                    result = new
                    {
                        isSuccess = true,
                        message   = "添加部门成功"
                    };
                }

                else
                {
                    _ctx.Deparment.Add(deparment);
                    _ctx.Company.Find(deparmentDto.CompId).DeparmentCount++;
                    _ctx.SaveChanges();
                    this.TransFerWorker(deparment.CompanyId, deparment.Id, (int)deparment.ManagerId);
                    result = new
                    {
                        isSuccess = true,
                        message   = "添加部门成功"
                    };
                }
                // if (ChangeWorkerPosition(deparmentDto.MangerId, "部门经理"))
            }
            return(result);
        }
Пример #3
0
        public object EditDeparment(AddSingleDeparmentDto addSingleDeparmentDto)
        {
            var       result    = new object();
            Deparment deparment = _ctx.Deparment.Find(addSingleDeparmentDto.Id);

            try
            {
                //若新的部门经理为总经理、部门内员工则部门人数不变,否则部门人数+1,原来的部门人数-1
                string isAddCount = ChangeWorkerPosition(deparment, addSingleDeparmentDto.MangerId);
                switch (isAddCount)
                {
                case "notAdd":
                    deparment.Name      = addSingleDeparmentDto.Name;
                    deparment.ManagerId = addSingleDeparmentDto.MangerId;
                    break;

                case "add":
                    deparment.Name      = addSingleDeparmentDto.Name;
                    deparment.ManagerId = addSingleDeparmentDto.MangerId;
                    deparment.WorkerCount++;
                    break;
                }
                _ctx.SaveChanges();
                result = new
                {
                    isSuccess = true,
                    message   = "编辑部门资料成功!"
                };
            }
            catch
            {
                result = new
                {
                    isSuccess = false,
                    message   = "编辑部门资料失败!"
                };
            }
            return(result);
        }
Пример #4
0
        public Result EditDeparment(AddSingleDeparmentDto addSingleDeparmentDto)
        {
            var result = new Result
            {
                IsSuccess = true,
                Message   = "编辑成功"
            };
            //找到所编辑的部门
            Deparment deparment = _ctx.Deparment.Find(addSingleDeparmentDto.Id);

            //修改部门信息
            deparment.Name        = addSingleDeparmentDto.Name;
            deparment.WorkerCount = addSingleDeparmentDto.WorkerCount;
            //如果传入实体包含了经理
            if (addSingleDeparmentDto.MangerId != null)
            {
                Worker manager = _ctx.Worker.Find(addSingleDeparmentDto.MangerId);
                if (manager.DepartmentId == deparment.Id)  //没有跨部门
                {
                    if (deparment.ManagerId != null)
                    {
                        Worker oldManager = _ctx.Worker.Find(deparment.ManagerId);
                        oldManager.PositionId = _ctx.Position.SingleOrDefault(p => p.CompanyId == deparment.CompanyId && p.Name.Contains("员工")).Id;
                    }
                    manager.PositionId  = _ctx.Position.SingleOrDefault(p => p.CompanyId == deparment.CompanyId && p.Name.Contains("部门经理")).Id;
                    deparment.ManagerId = addSingleDeparmentDto.MangerId;
                }
                else  //跨部门:失败
                {
                    result.IsSuccess = false;
                    result.Message   = "不能跨部门选择经理";
                }
            }
            _ctx.SaveChanges();
            return(result);
        }
 public object EditDeparment([FromBody] AddSingleDeparmentDto addSingleDeparmentDto)
 {
     return(_dangAnAppService.EditDeparment(addSingleDeparmentDto));
 }
 public object EditDeparment(AddSingleDeparmentDto addSingleDeparmentDto)
 {
     return(_dangAnManager.EditDeparment(addSingleDeparmentDto));
 }
 public object AddSingleDpearment(AddSingleDeparmentDto deparmentDto)
 {
     return(_dangAnManager.AddSingleDpearment(deparmentDto));
 }