Exemplo n.º 1
0
        public string Put(Deparment deparment)
        {
            try
            {
                DataTable table = new DataTable();
                string    query = @"
                                UPDATE DBO.Departments 
                                SET DepartmentName = '" + deparment.DepartmentName + @"'
                                WHERE DepartmentID = " + deparment.DepartmentID + @"
                                ";

                using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EmployeeAppDB"].ConnectionString))
                {
                    using (var cmd = new SqlCommand(query, conn))
                    {
                        using (var sa = new SqlDataAdapter(cmd))
                        {
                            cmd.CommandType = CommandType.Text;
                            sa.Fill(table);
                        }
                    }
                }
                return("Updated Successfully");
            }
            catch (Exception)
            {
                return("Failed to add");
            }
        }
Exemplo n.º 2
0
        public string Post(Deparment deparment)
        {
            try
            {
                DataTable table = new DataTable();
                string    query = @"
                                INSERT INTO DBO.Departments VALUES ('" + deparment.DepartmentName + @"')";

                using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["EmployeeAppDB"].ConnectionString))
                {
                    using (var cmd = new SqlCommand(query, conn))
                    {
                        using (var sa = new SqlDataAdapter(cmd))
                        {
                            cmd.CommandType = CommandType.Text;
                            sa.Fill(table);
                        }
                    }
                }
                return("Added Successfully");
            }
            catch (Exception)
            {
                return("Failed to add");
            }
        }
        public ActionResult Create([Bind(Include = "DepartmentId,Name")] Deparment deparment)
        {
            if (ModelState.IsValid)
            {
                db.Deparments.Add(deparment);
                try
                {
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null &&
                        ex.InnerException.InnerException != null &&
                        ex.InnerException.InnerException.Message.Contains("_Index"))
                    {
                        ModelState.AddModelError(string.Empty, "there are record the same   value ");
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, ex.Message);
                    }

                    return(View(deparment));
                }
            }

            return(View(deparment));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Deparment deparment = db.Deparments.Find(id);

            db.Deparments.Remove(deparment);
            try
            {
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null &&
                    ex.InnerException.InnerException != null &&
                    ex.InnerException.InnerException.Message.Contains("REFERENCE"))
                {
                    ModelState.AddModelError(string.Empty, "The record be delete bacause related record");
                }
                else
                {
                    ModelState.AddModelError(string.Empty, ex.Message);
                }

                return(View(deparment));
            }
        }
        // PUT api/Departamento/5
        public HttpResponseMessage PutDeparment(int id, Deparment deparment)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            if (id != deparment.Id)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            db.Entry(deparment).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name")] Deparment deparment)
        {
            if (id != deparment.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(deparment);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DeparmentExists(deparment.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(deparment));
        }
Exemplo n.º 7
0
        public ActionResult DeleteConfirmed(int id)
        {
            Deparment deparment = db.Deparments.Find(id);

            db.Deparments.Remove(deparment);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 8
0
 public ActionResult Edit([Bind(Include = "ID_Department,Name,Acronyms")] Deparment deparment)
 {
     if (ModelState.IsValid)
     {
         db.Entry(deparment).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(deparment));
 }
Exemplo n.º 9
0
 public ActionResult Edit(Deparment deparment)
 {
     if (ModelState.IsValid)
     {
         db.Entry(deparment).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(deparment));
 }
Exemplo n.º 10
0
        //
        // GET: /Departamento/Edit/5

        public ActionResult Edit(int id = 0)
        {
            Deparment deparment = db.Deparments.Find(id);

            if (deparment == null)
            {
                return(HttpNotFound());
            }
            return(View(deparment));
        }
Exemplo n.º 11
0
        public ActionResult Create([Bind(Include = "ID_Department,Name,Acronyms")] Deparment deparment)
        {
            if (ModelState.IsValid)
            {
                db.Deparment.Add(deparment);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(deparment));
        }
Exemplo n.º 12
0
        // GET api/Departamento/5
        public Deparment GetDeparment(int id)
        {
            Deparment deparment = db.Deparments.Find(id);

            if (deparment == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(deparment);
        }
Exemplo n.º 13
0
        public async Task <IActionResult> Create([Bind("Id,Name")] Deparment deparment)
        {
            if (ModelState.IsValid)
            {
                _context.Add(deparment);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(deparment));
        }
Exemplo n.º 14
0
        public ActionResult Create(Deparment deparment)
        {
            if (ModelState.IsValid)
            {
                db.Deparments.Add(deparment);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(deparment));
        }
Exemplo n.º 15
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);
        }
Exemplo n.º 16
0
        public static bool UpdateDeparment(Deparment deparment)
        {
            string query = $@"
                            UPDATE departamento
                            SET Nombredepartamento = '{deparment.Name}'
                            WHERE ID = {deparment.ID}
                                ";


            Connection con = new Connection();

            return(con.Execute(query));
        }
        // GET: Deparments/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Deparment deparment = db.Deparments.Find(id);

            if (deparment == null)
            {
                return(HttpNotFound());
            }
            return(View(deparment));
        }
Exemplo n.º 18
0
        public object DeleteDeparment(int id)
        {
            Deparment deparment = _ctx.Deparment.Find(id);
            var       result    = new object();

            try
            {
                if (deparment.WorkerCount != 0)
                {
                    result = new
                    {
                        isSuccess = false,
                        message   = "部门内有员工,删除失败!"
                    }
                }
                ;
                else
                {
                    if (ChangeWorkerPosition(deparment.ManagerId, "员工"))
                    {
                        Company company = _ctx.Company.Find(deparment.CompanyId);
                        company.DeparmentCount = company.DeparmentCount - 1;
                        _ctx.Deparment.Remove(deparment);
                        _ctx.SaveChanges();
                        result = new
                        {
                            isSuccess = true,
                            message   = "部门删除成功!"
                        };
                    }
                    else
                    {
                        result = new
                        {
                            isSuccess = false,
                            message   = "部门删除失败!"
                        }
                    };
                }
            }
            catch
            {
                result = new
                {
                    isSuccess = false,
                    message   = "删除部门失败!"
                };
            }
            return(result);
        }
Exemplo n.º 19
0
        public static Deparment GetDeparmentByID(int Id)
        {
            var deparment = new Deparment();

            Connection con = new Connection();

            var datatable = con.GetData($"SELECT ID,NombreDepartamento FROM Departamento WHERE ID={Id}");

            deparment = new Deparment()
            {
                ID = int.Parse(datatable.Rows[0][0].ToString()), Name = datatable.Rows[0][1].ToString()
            };

            return(deparment);
        }
Exemplo n.º 20
0
        // POST api/Departamento
        public HttpResponseMessage PostDeparment(Deparment deparment)
        {
            if (ModelState.IsValid)
            {
                db.Deparments.Add(deparment);
                db.SaveChanges();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, deparment);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = deparment.Id }));
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
Exemplo n.º 21
0
        static void Main(string[] args)
        {
            Console.Write("Entre deparment´s name: ");
            string depName = Console.ReadLine();

            Console.WriteLine("Enter Worked data");
            Console.Write("Name: ");
            string name = Console.ReadLine();

            Console.Write("Level (Junior/MidLevel/Senior): ");
            WorkLevel workLevel = Enum.Parse <WorkLevel>(Console.ReadLine());

            Console.Write("Base Salary: ");
            double salary = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Deparment deparment = new Deparment(depName);
            Worker    worker    = new Worker(name, workLevel, salary, deparment);

            Console.WriteLine("How many contracts to this worker? ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                Console.WriteLine($"Enter #{i} contract data: ");
                Console.Write("Date (DD/MM/YYY): ");
                DateTime date = DateTime.Parse(Console.ReadLine());
                Console.Write("Value per hour: ");
                double valuePerHour = double.Parse(Console.ReadLine());
                Console.Write("Duration (hours): ");
                int hour = int.Parse(Console.ReadLine());

                HourContract contract = new HourContract(date, valuePerHour, hour);
                worker.AddContract(contract);
            }
            Console.WriteLine();
            Console.Write("Enter month and year to calculate income (MM/YYYY): ");
            string monthAndYear = Console.ReadLine();

            int month = int.Parse(monthAndYear.Substring(0, 2));
            int year  = int.Parse(monthAndYear.Substring(3));

            Console.WriteLine("Name: " + worker.Name);
            Console.WriteLine("Department: " + worker.Deparment.Name);
            Console.WriteLine("Income for: " + monthAndYear + ": " + worker.Income(year, month));
        }
Exemplo n.º 22
0
        /// <summary>
        /// 改变员工职位
        /// </summary>
        /// <param name="worker">员工</param>
        /// <param name="selectDep">目标部门</param>
        /// <param name="odeparment">旧部门</param>
        /// <param name="transferWorkerDto">前端传入实体</param>
        /// <returns></returns>
        private Result ChangeWorkerPosition(Worker worker, Deparment selectDep, Deparment odeparment, TransferWorkerDto transferWorkerDto)
        {
            Result result = new Result();

            try
            {
                //判断所选择的职位是否为部门经理
                string positionName = _ctx.Position.Find(transferWorkerDto.PositionId).Name;
                if (positionName.Contains("部门经理"))
                {
                    //判断所选择部门当前部门经理是否为空
                    if (selectDep.ManagerId == null)  //经理为空,则直接将该部门部门经理设置为该员工
                    {
                        selectDep.ManagerId = worker.Id;
                    }
                    else  //原本存在经理,将原本的经理变为员工
                    {
                        Worker manager = _ctx.Worker.Find(selectDep.ManagerId);
                        manager.PositionId  = _ctx.Position.SingleOrDefault(p => p.CompanyId == worker.CompanyId && p.Name.Contains("员工")).Id;
                        selectDep.ManagerId = worker.Id;
                    }
                }
                else
                {
                    //如果旧部门的经理是需要进行人事调动的员工
                    if (odeparment.ManagerId == worker.Id) //将旧部门的经理置为空
                    {
                        odeparment.ManagerId = null;
                    }
                }
                worker.DepartmentId = transferWorkerDto.DeparmentId;
                worker.PositionId   = transferWorkerDto.PositionId;
                worker.StateId      = transferWorkerDto.StateId;
                _ctx.SaveChanges();
                result.IsSuccess = true;
                result.Message   = "人员调动成功!";
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = e.Message;
            }
            return(result);
        }
Exemplo n.º 23
0
        public static void Run()
        {
            var _db       = new MyContext();
            var deparment = new Deparment
            {
                DeparmentName = "Deparment"
            };

            var employee1 = new Employee
            {
                EmployeeName = "employee1"
            };

            var employee2 = new Employee
            {
                EmployeeName = "employee2"
            };

            var employeeDeparment1 = new EmployeeDeparment
            {
                Employee  = employee1,
                Deparment = deparment
            };

            var employeeDeparment2 = new EmployeeDeparment
            {
                Employee  = employee2,
                Deparment = deparment
            };

            _db.Add(employeeDeparment1);
            _db.Add(employeeDeparment2);
            _db.SaveChanges();

            var employees = _db.Employee.ToList();

            foreach (var employee in employees)
            {
                Console.WriteLine(employee.EmployeeName);
            }

            Console.ReadLine();
        }
Exemplo n.º 24
0
        public Result TransferWorker(TransferWorkerDto transferWorkerDto)
        {
            Worker    worker     = _ctx.Worker.Find(transferWorkerDto.WorkerId);
            Deparment selectDep  = _ctx.Deparment.Find(transferWorkerDto.DeparmentId);
            Worker    manager    = _ctx.Worker.Find(selectDep.ManagerId);
            Deparment odeparment = _ctx.Deparment.Find(worker.DepartmentId);

            if (worker.DepartmentId != transferWorkerDto.DeparmentId)
            {
                //选择换部门,原本部门-1,新部门+1
                Deparment ndeparment = _ctx.Deparment.Find(transferWorkerDto.DeparmentId);
                ndeparment.WorkerCount = ndeparment.WorkerCount + 1;
                odeparment.WorkerCount = odeparment.WorkerCount - 1 <= 0 ? 0 : odeparment.WorkerCount - 1;
                _ctx.SaveChanges();
            }
            Result result = ChangeWorkerPosition(worker, manager, odeparment, transferWorkerDto);

            return(result);
        }
Exemplo n.º 25
0
        public Result TransferWorker(TransferWorkerDto transferWorkerDto)
        {
            //需要进行人事调动的员工
            Worker worker = _ctx.Worker.Find(transferWorkerDto.WorkerId);
            //调动目标部门
            Deparment selectDep = _ctx.Deparment.Find(transferWorkerDto.DeparmentId);
            //需要调动的员工的旧部门
            Deparment odeparment = _ctx.Deparment.Find(worker.DepartmentId);

            //判断员工是否在原部门进行调动
            if (selectDep != odeparment)
            {
                //选择换部门,原本部门-1,新部门+1
                selectDep.WorkerCount  = selectDep.WorkerCount + 1;
                odeparment.WorkerCount = odeparment.WorkerCount - 1 <= 0 ? 0 : odeparment.WorkerCount - 1;
                _ctx.SaveChanges();
            }
            Result result = ChangeWorkerPosition(worker, selectDep, odeparment, transferWorkerDto);

            return(result);
        }
Exemplo n.º 26
0
        private Result ChangeWorkerPosition(Worker worker, Worker manager, Deparment odeparment, TransferWorkerDto transferWorkerDto)
        {
            Result result = new Result();

            try
            {
                //判断所选择的职位是否为部门经理
                string positionName = _ctx.Position.Find(transferWorkerDto.PositionId).Name;
                if (positionName.Contains("部门经理"))
                {
                    //判断所选择部门当前部门经理是否为总经理
                    int positionParent = _ctx.Position.Where(p => p.Id == manager.PositionId).First().ParentId;
                    if (positionParent == 0)
                    {
                        worker.PositionId      = transferWorkerDto.PositionId;
                        worker.StateId         = transferWorkerDto.StateId;
                        odeparment.WorkerCount = odeparment.WorkerCount - 1 <= 0 ? 0 : odeparment.WorkerCount - 1;
                    }
                    else
                    {
                        manager.PositionId = _ctx.Position.SingleOrDefault(p => p.CompanyId == worker.CompanyId && p.Name.Equals("员工")).Id;
                        worker.PositionId  = transferWorkerDto.PositionId;
                        worker.StateId     = transferWorkerDto.StateId;
                    }
                }
                else
                {
                    worker.PositionId = transferWorkerDto.PositionId;
                    worker.StateId    = transferWorkerDto.StateId;
                }
                _ctx.SaveChanges();
                result.IsSuccess = true;
                result.Message   = "人员调动成功!";
            }catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = e.Message;
            }
            return(result);
        }
Exemplo n.º 27
0
        // DELETE api/Departamento/5
        public HttpResponseMessage DeleteDeparment(int id)
        {
            Deparment deparment = db.Deparments.Find(id);

            if (deparment == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            db.Deparments.Remove(deparment);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, deparment));
        }
Exemplo n.º 28
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);
        }
Exemplo n.º 29
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);
        }
Exemplo n.º 30
0
        private string ChangeWorkerPosition(Deparment deparment, int newMangerId)
        {
            //将原本的部门经理的职位调整为员工
            Worker oldManger = _ctx.Worker.Find(deparment.ManagerId);

            oldManger.PositionId = _ctx.Position.SingleOrDefault(p => p.CompanyId == deparment.CompanyId && p.Name.Contains("员工")).Id;
            //将选择的managerId对应的员工的职位调整为经理职位,为总经理则职位不变
            Worker newManger = _ctx.Worker.Find(newMangerId);

            if (_ctx.Position.Find(newManger.PositionId).ParentId == 0 || newManger.DepartmentId == deparment.Id)
            {
                _ctx.SaveChanges();
                return("notAdd");
            }
            else
            {
                newManger.PositionId = _ctx.Position.SingleOrDefault(p => p.CompanyId == deparment.CompanyId && p.Name.Contains("部门经理")).Id;
                Deparment oldDeparment = _ctx.Deparment.Find(newManger.DepartmentId);
                int       workerCount  = oldDeparment.WorkerCount;
                oldDeparment.WorkerCount = workerCount == 0 ? 0 : workerCount - 1;
                _ctx.SaveChanges();
                return("add");
            }
        }