public ActionResult Create(EmployeeCategory model)
        {
            model.CreatedBy = UserID.ToString();

            var repo = new EmployeeCategoryRepository();

            bool isexists = repo.IsFieldExists(repo.ConnectionString(), "EmployeeCategory", "EmpCategoryName", model.EmpCategoryName, null, null);

            if (!isexists)
            {
                var result = new EmployeeCategoryRepository().InsertEmployeeCategory(model);
                if (result.EmpCategoryId > 0)
                {
                    TempData["Success"] = "Added Successfully!";
                    TempData["RefNo"]   = result.EmpCategoryRefNo;
                    return(RedirectToAction("Create"));
                }

                else
                {
                    TempData["error"] = "Oops!!..Something Went Wrong!!";
                    TempData["RefNo"] = null;
                    return(View("Create", model));
                }
            }
            else
            {
                TempData["error"] = "This Name Alredy Exists!!";
                TempData["RefNo"] = null;
                return(View("Create", model));
            }
        }
Пример #2
0
        public EmployeeCategory InsertEmployeeCategory(EmployeeCategory model)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                IDbTransaction trn = connection.BeginTransaction();
                string         sql = @"INSERT INTO EmployeeCategory(EmpCategoryRefNo,EmpCategoryName,CreatedBy,CreatedDate,OrganizationId) VALUES(@EmpCategoryRefNo,@EmpCategoryName,@CreatedBy,getDate(),@OrganizationId);
            SELECT CAST(SCOPE_IDENTITY() as int)";
                int            id  = 0;

                try
                {
                    int internalid = DatabaseCommonRepository.GetInternalIDFromDatabase(connection, trn, typeof(EmployeeCategory).Name, "0", 1);
                    model.EmpCategoryRefNo = "EMPC/" + internalid;
                    id = connection.Query <int>(sql, model, trn).Single();
                    model.EmpCategoryId = id;
                    InsertLoginHistory(dataConnection, model.CreatedBy, "Create", "Employee Category", id.ToString(), "0");
                    trn.Commit();
                }
                catch (Exception e)
                {
                    trn.Rollback();
                    model.EmpCategoryId    = 0;
                    model.EmpCategoryRefNo = null;
                }
                return(model);
            }
        }
Пример #3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name")] EmployeeCategory employeeCategory)
        {
            if (id != employeeCategory.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(employeeCategory);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmployeeCategoryExists(employeeCategory.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(employeeCategory));
        }
Пример #4
0
        public ValidationMessage CheckCategory(string value, out EmployeeCategory category)
        {
            category = EmployeeCategory.Other;
            if (string.IsNullOrEmpty(value))
            {
                return(new ValidationMessage(ValidationType.Warning, "No category specified, set to default"));
            }
            else
            {
                switch (value)
                {
                case "ΠΕ":
                    category = EmployeeCategory.PE;
                    break;

                case "ΔΕ":
                    category = EmployeeCategory.DE;
                    break;

                case "ΤΕ":
                    category = EmployeeCategory.TE;
                    break;

                case "ΥΕ":
                    category = EmployeeCategory.YE;
                    break;

                default:
                    return(new ValidationMessage(ValidationType.Warning, "Invalid category, set to default"));
                }

                return(new ValidationMessage());
            }
        }
Пример #5
0
//Employee
        public Guid createEmployeeCategory(EmployeeCategory EmployeeCategory)
        {
            context.EmployeeCategorys.Add(EmployeeCategory);
            context.SaveChanges();

            return(EmployeeCategory.Id);
        }
        public ActionResult Edit(EmployeeCategory model)
        {
            model.OrganizationId = OrganizationId;
            model.CreatedDate    = System.DateTime.Now;
            model.CreatedBy      = UserID.ToString();

            var  repo     = new EmployeeCategoryRepository();
            bool isexists = repo.IsFieldExists(repo.ConnectionString(), "EmployeeCategory", "EmpCategoryName", model.EmpCategoryName, " EmpCategoryId", model.EmpCategoryId);

            if (!isexists)
            {
                var result = new EmployeeCategoryRepository().UpdateEmployeeCategory(model);
                if (result.EmpCategoryId > 0)
                {
                    TempData["Success"] = "Updated Successfully!";
                    TempData["RefNo"]   = result.EmpCategoryRefNo;
                    return(RedirectToAction("Create"));
                }

                else
                {
                    TempData["error"] = "Oops!!..Something Went Wrong!!";
                    TempData["RefNo"] = null;
                    return(View("Create", model));
                }
            }
            else
            {
                TempData["error"] = "This Name Alredy Exists!!";
                TempData["RefNo"] = null;
                return(View("Create", model));
            }
        }
Пример #7
0
        public IHttpActionResult RemoveOldEmployeeCategory(EmployeeCategory oldemployeecategorytoremove)
        {
            EmployeeCategory getemployeecategorytoremove = unitOfWork.employeecategories.Get(oldemployeecategorytoremove.Id);

            getemployeecategorytoremove.IsTerminated = true;
            unitOfWork.employeecategories.Update(p => p.Id == getemployeecategorytoremove.Id, getemployeecategorytoremove);
            unitOfWork.Complete();
            return(Ok("Employee Category Removed Successfully"));
        }
Пример #8
0
        public object UpdateEmployeeCategory(EmployeeCategory employeeCategory)
        {
            SqlParameter outputStatus = null;

            try
            {
                using (SqlConnection con = _databaseFactory.GetDBConnection())
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        if (con.State == ConnectionState.Closed)
                        {
                            con.Open();
                        }
                        cmd.Connection  = con;
                        cmd.CommandText = "[Accounts].[UpdateEmployeeCategory]";
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@Code", SqlDbType.VarChar, 10).Value  = employeeCategory.Code;
                        cmd.Parameters.Add("@Name", SqlDbType.VarChar, 100).Value = employeeCategory.Name;

                        cmd.Parameters.Add("@UpdatedBy", SqlDbType.NVarChar, 250).Value = employeeCategory.commonObj.UpdatedBy;
                        cmd.Parameters.Add("@UpdatedDate", SqlDbType.DateTime).Value    = employeeCategory.commonObj.UpdatedDate;
                        outputStatus           = cmd.Parameters.Add("@Status", SqlDbType.SmallInt);
                        outputStatus.Direction = ParameterDirection.Output;
                        cmd.ExecuteNonQuery();
                    }
                }
                AppConst Cobj = new AppConst();
                switch (outputStatus.Value.ToString())
                {
                case "0":

                    throw new Exception(Cobj.UpdateFailure);

                case "1":

                    return(new
                    {
                        Status = outputStatus.Value.ToString(),
                        Message = Cobj.UpdateSuccess
                    });

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(new
            {
                Status = outputStatus.Value.ToString(),
                Message = Cobj.UpdateSuccess
            });
        }
Пример #9
0
        public async Task <IActionResult> Create([Bind("Id,Name")] EmployeeCategory employeeCategory)
        {
            if (ModelState.IsValid)
            {
                _context.Add(employeeCategory);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(employeeCategory));
        }
Пример #10
0
        public ActionResult DeleteConfirmed(int id)
        {
            EmployeeCategory employeeCategory = _employeeCategoryService.GetById(id);
            int employeeID = employeeCategory.EmployeeID.Value;

            if (employeeCategory != null)
            {
                _employeeCategoryService.Delete(employeeCategory.ID);
            }
            string returnUrl = Url.Action("Details", "Employee", new { id = employeeID + "#employeecategory" }).Replace("%23", "#");

            // return RedirectToAction("Index");
            return(new RedirectResult(returnUrl));
        }
Пример #11
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
            EmployeeCategory employeeCategory = _employeeCategoryService.GetById((int)id);

            if (employeeCategory == null)
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }
            return(View(employeeCategory));
        }
Пример #12
0
        public List <EmployeeCategory> GetAllEmployeeCategories()
        {
            List <EmployeeCategory> employeeCategoryList = null;

            try
            {
                using (SqlConnection con = _databaseFactory.GetDBConnection())
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        if (con.State == ConnectionState.Closed)
                        {
                            con.Open();
                        }
                        cmd.Connection  = con;
                        cmd.CommandText = "[Accounts].[GetEmployeeCategory]";
                        cmd.CommandType = CommandType.StoredProcedure;
                        using (SqlDataReader sdr = cmd.ExecuteReader())
                        {
                            if ((sdr != null) && (sdr.HasRows))
                            {
                                employeeCategoryList = new List <EmployeeCategory>();
                                while (sdr.Read())
                                {
                                    EmployeeCategory employeeCategory = new EmployeeCategory();
                                    {
                                        employeeCategory.Code      = (sdr["Code"].ToString() != "" ? sdr["Code"].ToString() : employeeCategory.Code);
                                        employeeCategory.Name      = (sdr["Name"].ToString() != "" ? sdr["Name"].ToString() : employeeCategory.Name);
                                        employeeCategory.commonObj = new Common();
                                        {
                                            employeeCategory.commonObj.CreatedBy         = (sdr["CreatedBy"].ToString() != "" ? sdr["CreatedBy"].ToString() : employeeCategory.commonObj.CreatedBy);
                                            employeeCategory.commonObj.CreatedDate       = (sdr["CreatedDate"].ToString() != "" ? DateTime.Parse(sdr["CreatedDate"].ToString()) : employeeCategory.commonObj.CreatedDate);
                                            employeeCategory.commonObj.CreatedDateString = (sdr["CreatedDate"].ToString() != "" ? DateTime.Parse(sdr["CreatedDate"].ToString()).ToString(settings.dateformat) : string.Empty);
                                        }
                                    }
                                    employeeCategoryList.Add(employeeCategory);
                                }
                            }
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(employeeCategoryList);
        }
Пример #13
0
        public EmployeeCategory GetEmployeeCategoryDetails(string Code)
        {
            List <EmployeeCategory> EmployeeCategoryList = null;
            EmployeeCategory        employeeCategory     = null;

            try
            {
                EmployeeCategoryList = GetAllEmployeeCategories();
                employeeCategory     = EmployeeCategoryList != null?EmployeeCategoryList.Where(D => D.Code == Code).SingleOrDefault() : null;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(employeeCategory);
        }
Пример #14
0
 public void Save(EmployeeCategory category, string UserId)
 {
     if (category.Id == 0)
     {
         category.CreatedBy    = UserId;
         category.CreationDate = DateTime.Now;
         _dbContext.Add(category);
     }
     else
     {
         category.ModifiedBy              = UserId;
         category.ModifiedDate            = DateTime.Now;
         _dbContext.Entry(category).State = EntityState.Modified;
     }
     _dbContext.SaveChanges();
 }
Пример #15
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
            EmployeeCategory employeeCategory = _employeeCategoryService.GetById((int)id);

            if (employeeCategory == null)
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }
            // ViewBag.EmploymentRatio = employeeCategory.EmploymentRatio.HasValue ? (double)employeeCategory.EmploymentRatio.Value : 1;
            ViewBag.EmploymentRatio = employeeCategory.EmploymentRatio.HasValue ? ((double)employeeCategory.EmploymentRatio.Value).ToString() : string.Empty;
            return(View(employeeCategory));
        }
Пример #16
0
        public EmployeeDetailsDto(Employee employee, EmployeeCategory category) : base(employee)
        {
            Id               = employee.ID;
            ADLogin          = employee.ADLogin;
            ADEmployeeID     = employee.ADEmployeeID;
            EnrollmentDate   = employee.EnrollmentDate;
            ProbationEndDate = employee.ProbationEndDate;
            DismissalDate    = employee.DismissalDate;

            if (category != null)
            {
                CategoryType = category.CategoryType;
            }
            else
            {
                CategoryType = null;
            }
        }
        public ActionResult Delete(EmployeeCategory model)
        {
            var result = new EmployeeCategoryRepository().DeleteEmployeeCategory(model);


            if (result.EmpCategoryId > 0)
            {
                TempData["Success"] = "Deleted Successfully!";
                TempData["RefNo"]   = model.EmpCategoryRefNo;
                return(RedirectToAction("Create"));
            }
            else
            {
                TempData["error"] = "Oops!!..Something Went Wrong!!";
                TempData["RefNo"] = null;
                return(View("Create", model));
            }
        }
Пример #18
0
        public EmployeeCategory DeleteEmployeeCategory(EmployeeCategory model)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                string sql = @"UPDATE EmployeeCategory SET isActive = 0 OUTPUT INSERTED.EmpCategoryId  WHERE EmpCategoryId = @EmpCategoryId";

                try
                {
                    var id = connection.Execute(sql, model);
                    model.EmpCategoryId = id;
                    InsertLoginHistory(dataConnection, model.CreatedBy, "Delete", "Employee Category", id.ToString(), "0");
                }
                catch (Exception ex)
                {
                    model.EmpCategoryId = 0;
                }
                return(model);
            }
        }
Пример #19
0
        public IActionResult Save(EmployeeCategoryIndexViewModel model)
        {
            var UserId = HttpContext.Session.GetString("UserId");

            if (ModelState.IsValid)
            {
                var item = new EmployeeCategory
                {
                    Id          = model.Id,
                    Description = model.Description
                };
                _EmployeeCategory.Save(item, UserId);
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index", model));
            }
        }
Пример #20
0
        public EmployeeCategory UpdateEmployeeCategory(EmployeeCategory model)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                string sql = @"UPDATE EmployeeCategory SET EmpCategoryName = @EmpCategoryName, CreatedBy = @CreatedBy,CreatedDate= GETDATE(),OrganizationId = @OrganizationId OUTPUT INSERTED.EmpCategoryId  WHERE EmpCategoryId = @EmpCategoryId";

                try
                {
                    var id = connection.Execute(sql, model);
                    model.EmpCategoryId = id;
                    InsertLoginHistory(dataConnection, model.CreatedBy, "Update", "Employee Category", id.ToString(), "0");
                }
                catch (Exception ex)
                {
                    model.EmpCategoryId = 0;
                }
                return(model);
            }
        }
Пример #21
0
 public RouteListItemWageCalculationSource(RouteListItem item, EmployeeCategory employeeCategory)
 {
     this.employeeCategory = employeeCategory;
     this.item             = item ?? throw new ArgumentNullException(nameof(item));
 }
 public RouteListWageCalculationSource(RouteList rl, EmployeeCategory employeeCategory)
 {
     this.employeeCategory = employeeCategory;
     this.rl = rl ?? throw new ArgumentNullException(nameof(rl));
 }
Пример #23
0
 public IHttpActionResult UpdateOldEmployeeCategory(EmployeeCategory employeecategorytoupdate)
 {
     unitOfWork.employeecategories.Update(p => p.Id == employeecategorytoupdate.Id, employeecategorytoupdate);
     unitOfWork.Complete();
     return(Ok("Employee Category Updated Successfully"));
 }
Пример #24
0
        public string InitDb()
        {
            using (AppContext db = new AppContext())
            {
                // Clear all tables
                db.Departments.RemoveRange(db.Departments);
                db.Employees.RemoveRange(db.Employees);
                db.EmployeeCategories.RemoveRange(db.EmployeeCategories);
                db.Movements.RemoveRange(db.Movements);
                db.Products.RemoveRange(db.Products);
                db.ProductAvailabilities.RemoveRange(db.ProductAvailabilities);
                db.Teams.RemoveRange(db.Teams);
                db.TeamMembers.RemoveRange(db.TeamMembers);
                db.SaveChanges();

                Department department1 = new Department {
                    Name = "Склад сырьевой", Parent = null
                };
                Department department2 = new Department {
                    Name = "Цех 1 (сборка основных деталей)", Parent = null
                };
                Department department3 = new Department {
                    Name = "Участок 1 (сборка фюзеляжа)", Parent = department2
                };
                Department department4 = new Department {
                    Name = "Участок 2 (сборка крыльев)", Parent = department2
                };
                Department department5 = new Department {
                    Name = "Участок 3 (сборка шасси)", Parent = department2
                };
                Department department6 = new Department {
                    Name = "Цех 2 (финальная сборка)", Parent = null
                };
                Department department7 = new Department {
                    Name = "Участок 1 (механосборка)", Parent = department6
                };
                Department department8 = new Department {
                    Name = "Участок 2 (монтаж электрооборудования)", Parent = department6
                };
                Department department9 = new Department {
                    Name = "Цех 3 (покраска и салон)", Parent = null
                };
                Department department10 = new Department {
                    Name = "Участок 1 (покраска)", Parent = department9
                };
                Department department11 = new Department {
                    Name = "Участок 2 (салон)", Parent = department9
                };
                Department department12 = new Department {
                    Name = "Склад готовой продукции", Parent = null
                };

                db.Departments.Add(department1);
                db.Departments.Add(department2);
                db.Departments.Add(department3);
                db.Departments.Add(department4);
                db.Departments.Add(department5);
                db.Departments.Add(department6);
                db.Departments.Add(department7);
                db.Departments.Add(department8);
                db.Departments.Add(department9);
                db.Departments.Add(department10);
                db.Departments.Add(department11);
                db.Departments.Add(department12);

                Product product1 = new Product {
                    Name = "Лист металла"
                };
                Product product2 = new Product {
                    Name = "Крепеж"
                };
                Product product3 = new Product {
                    Name = "Двигатель"
                };
                Product product4 = new Product {
                    Name = "Крыло"
                };
                Product product5 = new Product {
                    Name = "Хвостовая секция фюзеляжа"
                };
                Product product6 = new Product {
                    Name = "Средняя секция фюзеляжа"
                };
                Product product7 = new Product {
                    Name = "Передняя секция фюзеляжа"
                };
                Product product8 = new Product {
                    Name = "Шасси"
                };
                Product product9 = new Product {
                    Name = "Шасси в сборе"
                };
                Product product10 = new Product {
                    Name = "Кабель электрический"
                };
                Product product11 = new Product {
                    Name = "Краска по металлу"
                };
                Product product12 = new Product {
                    Name = "Самолет под покраску"
                };
                Product product13 = new Product {
                    Name = "Самолет к продаже"
                };

                db.Products.Add(product1);
                db.Products.Add(product2);
                db.Products.Add(product3);
                db.Products.Add(product4);
                db.Products.Add(product5);
                db.Products.Add(product6);
                db.Products.Add(product7);
                db.Products.Add(product8);
                db.Products.Add(product9);
                db.Products.Add(product10);
                db.Products.Add(product11);
                db.Products.Add(product12);
                db.Products.Add(product13);

                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product1
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product1
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product1
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product1
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product1
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product2
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product2
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product2
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product2
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product2
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product3
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product3
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product8
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product10
                });
                db.ProductAvailabilities.Add(new ProductAvailability {
                    Department = department1, Product = product11
                });

                EmployeeCategory employeeCategory1 = new EmployeeCategory {
                    Name = "Рабочие"
                };
                db.EmployeeCategories.Add(employeeCategory1);

                Employee emloyee1 = new Employee {
                    Name = "Иванов И.И.", EmployeeCategory = employeeCategory1
                };
                Employee emloyee2 = new Employee {
                    Name = "Петров П.С.", EmployeeCategory = employeeCategory1
                };
                Employee emloyee3 = new Employee {
                    Name = "Васильев В.В.", EmployeeCategory = employeeCategory1
                };
                Employee emloyee4 = new Employee {
                    Name = "Алексеев И.А.", EmployeeCategory = employeeCategory1
                };
                Employee emloyee5 = new Employee {
                    Name = "Иванов А.И.", EmployeeCategory = employeeCategory1
                };
                Employee emloyee6 = new Employee {
                    Name = "Андреев Г.П.", EmployeeCategory = employeeCategory1
                };
                Employee emloyee7 = new Employee {
                    Name = "Петров С.В.", EmployeeCategory = employeeCategory1
                };

                db.Employees.Add(emloyee1);
                db.Employees.Add(emloyee2);
                db.Employees.Add(emloyee3);
                db.Employees.Add(emloyee4);
                db.Employees.Add(emloyee5);
                db.Employees.Add(emloyee6);
                db.Employees.Add(emloyee7);

                db.Teams.Add(new Team {
                    Name = "Бригада 1", Department = department3, Leader = emloyee1
                });
                db.Teams.Add(new Team {
                    Name = "Бригада 2", Department = department4, Leader = emloyee2
                });
                db.Teams.Add(new Team {
                    Name = "Бригада 3", Department = department5, Leader = emloyee3
                });
                db.Teams.Add(new Team {
                    Name = "Бригада 4", Department = department7, Leader = emloyee4
                });
                db.Teams.Add(new Team {
                    Name = "Бригада 5", Department = department8, Leader = emloyee5
                });
                db.Teams.Add(new Team {
                    Name = "Бригада 6", Department = department10, Leader = emloyee6
                });
                db.Teams.Add(new Team {
                    Name = "Бригада 7", Department = department11, Leader = emloyee7
                });
                db.SaveChanges();
            }
            return("Success");
        }
Пример #25
0
        protected override void Seed(PlutoContext context)
        {
            AppUser appuser1 = new AppUser
            {
                username = "******",
                password = "******",
                email    = "*****@*****.**",
                alterEgo = "Admin"
            };


            Department department1 = new Department()
            {
                Id   = 1,
                name = "Business"
            };

            Department department2 = new Department()
            {
                Id   = 2,
                name = "Science"
            };

            StudentClass studentclass1 = new StudentClass()
            {
                Id               = 1,
                name             = "One",
                classamounttopay = 20,
                IsTerminated     = false
            };

            StudentClass studentclass2 = new StudentClass()
            {
                Id               = 2,
                name             = "Two",
                classamounttopay = 30,
                IsTerminated     = false
            };

            StudentStatus studentstatus1 = new StudentStatus()
            {
                Id   = 1,
                name = "Full Payment"
            };

            StudentStatus studentstatus2 = new StudentStatus()
            {
                Id   = 2,
                name = "Partial Payment"
            };

            Region region1 = new Region()
            {
                Id   = 1,
                name = "Ashanti"
            };

            Region region2 = new Region()
            {
                Id   = 2,
                name = "Grater Accra"
            };

            EmployeeCategory employeecategory1 = new EmployeeCategory()
            {
                Id   = 1,
                name = "Fixed",
                allowancepercentage = 70
            };

            EmployeeCategory employeecategory2 = new EmployeeCategory()
            {
                Id   = 2,
                name = "Variable",
                allowancepercentage = 50
            };
            EmployeeLevelOfEducation employeelevelofeducation1 = new EmployeeLevelOfEducation()
            {
                Id   = 1,
                name = "BSC"
            };

            EmployeeLevelOfEducation employeelevelofeducation2 = new EmployeeLevelOfEducation()
            {
                Id   = 2,
                name = "MBS"
            };

            PayrollRate payrollrate = new PayrollRate()
            {
                workday = 100, workdayovertime = 120, saturday = 140, saturdayovertime = 150, sunday = 160, sundayovertime = 160, holiday = 170, holidayovertime = 180
            };

            TaxRate taxrate1 = new TaxRate()
            {
                Id = 1, name = "first", amount = 300, rate = 2
            };
            TaxRate taxrate2 = new TaxRate()
            {
                Id = 2, name = "second", amount = 300, rate = 5
            };

            SSNITRate ssnitrate = new SSNITRate()
            {
                Id = 1, name = "SSNIT", Rate = 3
            };

            StudentSubject subject1 = new StudentSubject()
            {
                Id             = 1,
                name           = "Maths",
                studentclassid = 1
            };

            StudentSubject subject2 = new StudentSubject()
            {
                Id             = 2,
                name           = "English",
                studentclassid = 2
            };


            EmployeeType employeetype1 = new EmployeeType()
            {
                Id   = 1,
                name = "Regular"
            };

            EmployeeType employeetype2 = new EmployeeType()
            {
                Id   = 2,
                name = "Staff"
            };


            Student student1 = new Student
            {
                Id                 = 1,
                gender             = "female",
                firstname          = "Dede",
                lastname           = "Ansah",
                placeofbirth       = "Tema",
                dateofbirth        = DateTime.Now,
                studentclassId     = 2,
                departmentId       = 1,
                mothername         = "Joyce",
                fathername         = "Ankrah",
                regionId           = 2,
                city               = "Tema",
                address            = "P.O.Box 23332",
                email              = "*****@*****.**",
                phone              = "2323323",
                studentstatusId    = 1,
                scholarshippercent = 0,
                imagesrc           = "../../assets/images/default.png"
            };
            Student student2 = new Student
            {
                Id                 = 2,
                gender             = "Male",
                firstname          = "Ansah",
                lastname           = "Phillip",
                placeofbirth       = "Tema",
                dateofbirth        = DateTime.Now,
                studentclassId     = 1,
                departmentId       = 1,
                mothername         = "Joyce",
                fathername         = "Ankrah",
                regionId           = 2,
                city               = "Tema",
                address            = "P.O.Box 23332",
                email              = "*****@*****.**",
                phone              = "2323323",
                studentstatusId    = 2,
                scholarshippercent = 0,
                imagesrc           = "../../assets/images/default.png"
            };

            Payment payment1 = new Payment
            {
                Id          = 1,
                amounttopay = 50,
                amountpaid  = 20,
                amountowing = 30,
                studentId   = 1
            };

            PaymentHistory paymenthistory1 = new PaymentHistory
            {
                Id            = 1,
                amount        = 50,
                amountinwords = "Fifty Ghana Cedis",
                paymentdate   = DateTime.Now,
                studentId     = 1
            };

            Employee employee1 = new Employee()
            {
                Id              = 1, gender = "Male", firstname = "Emmanuel", lastname = "Atiapa", fullname = "Emmanuel Atiapa", placeofbirth = "Kpone", dateofbirth = DateTime.Now, categoryId = 1, departmentId = 1,
                classtoteachId  = 1, mothername = "Joyce", fathername = "Frank", regionId = 1, city = "Tema", address = "P.O.Box 233", email = "*****@*****.**", phone = "233254443",
                areaofexpertise = "Teaching", levelofeducationId = 1, yearsofexperience = 2, salary = 233, workinghours = 22, imagesrc = "../../assets/images/default.png",
                employeetypeId  = 1
            };

            Employee employee2 = new Employee()
            {
                Id          = 2, gender = "Female", firstname = "Kenneth", lastname = "Atsekpor", fullname = "Kenneth Atsekpor", placeofbirth = "Kpone",
                dateofbirth = DateTime.Now, categoryId = 2, departmentId = 2, classtoteachId = 2, mothername = "Joyce",
                fathername  = "Frank", regionId = 2, city = "Tema", address = "P.O.Box 233", email = "*****@*****.**",
                phone       = "233254443", areaofexpertise = "Accounting", levelofeducationId = 2, yearsofexperience = 4,
                salary      = 233, workinghours = 8, imagesrc = "../../assets/images/default.png", employeetypeId = 2
            };



            PayrollAllowance payrollallowance1 = new PayrollAllowance()
            {
                Id     = 1,
                name   = "Medical",
                amount = 200
            };

            PayrollAllowance payrollallowance2 = new PayrollAllowance()
            {
                Id     = 2,
                name   = "Leave",
                amount = 300
            };

            Allowance allowance1 = new Allowance()
            {
                Id = 1,
                payrollamountId = 1, payrollallowanceId = 1,
                amount          = 30
            };

            Allowance allowance2 = new Allowance()
            {
                Id = 2,
                payrollamountId    = 1,
                payrollallowanceId = 2,
                amount             = 40
            };


            //PayrollAmount payrollamount1 = new PayrollAmount()
            //{
            //    Id = 1,
            //    employeeId = 1,
            //    enddate = DateTime.Now,
            //    startdate = DateTime.Now,
            //    expectedworkhours = 23,
            //    grosssalary = 500,
            //    netsalary = 450,
            //    holiday = 23,
            //    loan = 34,
            //    payee = 3,
            //    saturday = 3,
            //    ssnit = 3,
            //    totalallowance = 45,
            //    workday = 34,
            //    workdayovertime = 2,
            //    sunday = 43,
            //    saturdayovertime = 3,
            //    sundayovertime = 3,
            //    totalworkdays = 3,
            //    holidayovertime = 4,
            //    allowances = new List<Allowance>()
            //    {
            //        allowance1,allowance2
            //    }
            //};


            EmployeeLoan employeeloan1 = new EmployeeLoan()
            {
                Id = 1, amount = 200, amountowing = 180, amountpaid = 20, interestrate = 5, interestamount = 20, monthlypayment = 200, loandate = DateTime.Now, employeeId = 1
            };

            EmployeeLoanHistory employeeloanhistory1 = new EmployeeLoanHistory()
            {
                Id = 1, amount = 20, employeeloanId = 1, paymentdate = DateTime.Now
            };

            Mark mark1 = new Mark()
            {
                Id               = 1,
                examId           = 1,
                mark             = 10,
                studentsubjectId = 1
            };

            Exam exam1 = new Exam()
            {
                Id        = 1,
                studentId = 1,
                marks     = new List <Mark>()
                {
                    mark1
                }
            };

            IncomeCategory incomecategory1 = new IncomeCategory()
            {
                Id   = 1,
                name = "First Income"
            };

            IncomeCategory incomecategory2 = new IncomeCategory()
            {
                Id   = 2,
                name = "Second Income"
            };

            ExpenseCategory expensecategory1 = new ExpenseCategory()
            {
                Id   = 1,
                name = "First Expense"
            };

            ExpenseCategory expensecategory2 = new ExpenseCategory()
            {
                Id   = 2,
                name = "Second Expense"
            };



            context.appusers.Add(appuser1);
            context.employeetypes.Add(employeetype1);
            context.employeetypes.Add(employeetype2);
            context.studentsubjects.Add(subject1);
            context.studentsubjects.Add(subject2);
            context.departments.Add(department1);
            context.departments.Add(department2);
            context.studentclasses.Add(studentclass1);
            context.studentclasses.Add(studentclass2);
            context.studentstatuses.Add(studentstatus1);
            context.studentstatuses.Add(studentstatus2);
            context.regions.Add(region1);
            context.regions.Add(region2);
            context.employeecategories.Add(employeecategory1);
            context.employeecategories.Add(employeecategory2);
            context.employeelevelsofeducation.Add(employeelevelofeducation1);
            context.employeelevelsofeducation.Add(employeelevelofeducation2);
            context.employees.Add(employee1);
            context.employees.Add(employee2);
            context.students.Add(student1);
            context.students.Add(student2);
            context.payrollallowances.Add(payrollallowance1);
            context.payrollallowances.Add(payrollallowance2);
            //context.payrollamounts.Add(payrollamount1);
            //context.allowances.Add(allowance1);
            //context.allowances.Add(allowance2);
            context.payrollrates.Add(payrollrate);
            context.taxrates.Add(taxrate1);
            context.taxrates.Add(taxrate2);
            context.ssnitrates.Add(ssnitrate);
            context.payments.Add(payment1);
            context.paymenthistories.Add(paymenthistory1);
            context.employeeloans.Add(employeeloan1);
            context.employeeloanhistories.Add(employeeloanhistory1);
            context.exams.Add(exam1);
            context.marks.Add(mark1);
            context.incomecategories.Add(incomecategory1);
            context.incomecategories.Add(incomecategory2);
            context.expensecategories.Add(expensecategory1);
            context.expensecategories.Add(expensecategory2);
            base.Seed(context);
        }
Пример #26
0
        public static void FillWithData(EntityDataModel model)
        {
            // allergens
            var meat = new Allergen()
            {
                Title       = "Meat",
                Description = "Dangerous to vegans"
            };

            var gluten = new Allergen()
            {
                Title       = "Gluten",
                Description = "Dangerous to sensitive people"
            };

            var cheese = new Allergen()
            {
                Title       = "Cheese",
                Description = "Dangerous diary product"
            };

            var corn = new Allergen()
            {
                Title       = "Corn",
                Description = "Dangerous diary product"
            };

            // product categories
            var pizzaCategory = new ProductCategory()
            {
                Name = "Pizza"
            };
            var burgerCategory = new ProductCategory()
            {
                Name = "Burger"
            };

            // topping categories
            var doughCategory = new ToppingCategory()
            {
                Title             = "Dough",
                Prompt            = "Please select exactly one dough",
                CategorySelection = CategorySelection.Single,
                Obligation        = Obligation.Obligatory,
                ProductCategory   = pizzaCategory,
            };

            var extrasPizzaCategory = new ToppingCategory()
            {
                Title             = "Extras",
                Prompt            = "Please select an extra topping for your pizza",
                CategorySelection = CategorySelection.Multiple,
                Obligation        = Obligation.Optional,
                ProductCategory   = pizzaCategory,
            };

            var extrasBurgerCategory = new ToppingCategory()
            {
                Title             = "Extras",
                Prompt            = "Please select an extra topping for your burger",
                CategorySelection = CategorySelection.Multiple,
                Obligation        = Obligation.Optional,
                ProductCategory   = burgerCategory,
            };

            // toppings
            var salami = new Topping()
            {
                Title           = "Salami",
                PrepareTime     = TimeSpan.FromSeconds(10),
                ToppingCategory = extrasPizzaCategory,
                Price           = 2,
                Allergens       = new List <Allergen> {
                    meat, gluten
                }
            };

            var patty = new Topping()
            {
                Title           = "Grilled Patty",
                PrepareTime     = TimeSpan.FromSeconds(130),
                ToppingCategory = extrasBurgerCategory,
                Price           = 11,
                Allergens       = new List <Allergen> {
                    meat
                }
            };

            var thinDough = new Topping()
            {
                Title           = "Thin dough",
                PrepareTime     = TimeSpan.FromSeconds(480),
                ToppingCategory = doughCategory,
                Price           = 8,
                Allergens       = new List <Allergen> {
                    gluten
                }
            };

            var thickDough = new Topping()
            {
                Title           = "Thick dough",
                PrepareTime     = TimeSpan.FromSeconds(590),
                ToppingCategory = doughCategory,
                Price           = 13,
                Allergens       = new List <Allergen> {
                    gluten
                }
            };

            // products

            var margheritta = new Product()
            {
                Title     = "Margheritta Pizza Italiano",
                Allergens = new List <Allergen> {
                    cheese, gluten
                },
                BasePrice       = 10,
                Description     = "Delicious and original italian pizza",
                PrepareTime     = TimeSpan.FromSeconds(110),
                ProductCategory = pizzaCategory,
            };

            var hawaii = new Product()
            {
                Title     = "Hawaii Pizza",
                Allergens = new List <Allergen> {
                    corn
                },
                BasePrice       = 13,
                Description     = "Astonishing hawaii pizza with a twist",
                PrepareTime     = TimeSpan.FromSeconds(140),
                ProductCategory = pizzaCategory,
            };

            var cheeseBurger = new Product()
            {
                Title           = "Cheese Burger",
                Allergens       = new List <Allergen> {
                },
                BasePrice       = 5,
                Description     = "Large burger with cheese",
                PrepareTime     = TimeSpan.FromSeconds(55),
                ProductCategory = burgerCategory,
            };

            // customers

            var pocztaPolska = new Customer()
            {
                Name      = "Poczta Polska",
                Address   = "Centrum 123",
                Email     = "*****@*****.**",
                Telephone = "123 456 789"
            };

            var google = new Customer()
            {
                Name      = "Google Polska",
                Address   = "Koszykowa 55555",
                Email     = "*****@*****.**",
                Telephone = "999 888 777"
            };

            var ted = new Customer()
            {
                Name      = "TED Polska",
                Address   = "Hoża tedowska",
                Email     = "*****@*****.**",
                Telephone = "+48 999-444-312"
            };

            // employee categories

            var chefCategory = new EmployeeCategory()
            {
                Title = "Chef"
            };

            var deliverymanCategory = new EmployeeCategory()
            {
                Title = "Deliveryman"
            };

            // intervals

            var monday = new TimeInterval()
            {
                From = DateTime.Parse("13/11/2017 8:00"),
                To   = DateTime.Parse("13/11/2017 18:00"),
            };

            var wednesday = new TimeInterval()
            {
                From = DateTime.Parse("15/11/2017 10:00"),
                To   = DateTime.Parse("15/11/2017 19:00"),
            };

            var thursday = new TimeInterval()
            {
                From = DateTime.Parse("16/11/2017 6:00"),
                To   = DateTime.Parse("16/11/2017 12:00"),
            };

            // employees

            var chef1 = new Employee()
            {
                Address   = "Mieszkalna 123",
                BirthDate = DateTime.Parse("10/10/1950"),
                Category  = chefCategory,
                Email     = "*****@*****.**",
                Name      = "John Smith",
                Salary    = 1234500,
                Telephone = "123-125-865",
                ProductCategoryCompetency = new List <ProductCategory> {
                    pizzaCategory
                },
                AvailableIntervals = new List <TimeInterval> {
                    monday, wednesday, thursday
                }
            };

            var chef2 = new Employee()
            {
                Address   = "Wypiekalna 123",
                BirthDate = DateTime.Parse("10/10/1980"),
                Category  = chefCategory,
                Email     = "*****@*****.**",
                Name      = "Adam Bezier",
                Salary    = 4624500,
                Telephone = "437-355-124",
                ProductCategoryCompetency = new List <ProductCategory> {
                    pizzaCategory, burgerCategory
                },
                AvailableIntervals = new List <TimeInterval> {
                    monday, thursday
                }
            };

            var deliveryman1 = new Employee()
            {
                Address            = "Dostarczalna 3",
                BirthDate          = DateTime.Parse("10/10/1990"),
                Category           = deliverymanCategory,
                Email              = "*****@*****.**",
                Name               = "Alfred Courier",
                Salary             = 1224500,
                Telephone          = "214-514-243",
                AvailableIntervals = new List <TimeInterval> {
                    monday, wednesday, thursday
                }
            };

            // customized products

            var customHawaii = new CustomizedProduct()
            {
                BaseProduct  = hawaii,
                CustomerWish = "mniej ananasów poproszę",
                Toppings     = new List <Topping> {
                    thinDough, salami
                },
            };

            var customBurger1 = new CustomizedProduct()
            {
                BaseProduct  = cheeseBurger,
                CustomerWish = "mniej tłuszczu poproszę",
                Toppings     = new List <Topping> {
                    patty
                },
            };

            var customBurger2 = new CustomizedProduct()
            {
                BaseProduct  = cheeseBurger,
                CustomerWish = "więcej tłuszczu poproszę",
                Toppings     = new List <Topping> {
                    patty
                },
            };

            // orders

            var order1 = new Order()
            {
                Chef             = chef1,
                Deliveryman      = deliveryman1,
                CookingDeadline  = DateTime.Parse("15/11/2017 9:00"),
                CustomerWish     = "Nie takie przypieczone",
                Customer         = google,
                DeliveryDeadline = DateTime.Parse("15/11/2017 9:30"),
                OrderCreated     = DateTime.Parse("2/11/2017 19:00"),
                OrderedProducts  = new List <CustomizedProduct> {
                    customHawaii, customBurger1
                },
                TotalPrice  = 23 + 16,
                OrderStatus = OrderStatus.Pending,
            };

            var order2 = new Order()
            {
                Chef             = chef2,
                Deliveryman      = deliveryman1,
                CookingDeadline  = DateTime.Parse("15/11/2017 13:00"),
                CustomerWish     = "Poproszę bez sera",
                Customer         = pocztaPolska,
                DeliveryDeadline = DateTime.Parse("15/11/2017 13:30"),
                OrderCreated     = DateTime.Parse("2/11/2017 14:00"),
                OrderedProducts  = new List <CustomizedProduct> {
                    customBurger2
                },
                TotalPrice  = 16,
                OrderStatus = OrderStatus.Pending,
            };

            model.Allergens.AddRange(new[] { meat, gluten, cheese });
            model.ProductCategories.AddRange(new[] { pizzaCategory, burgerCategory });
            model.ToppingCategories.AddRange(new[] { doughCategory, extrasPizzaCategory, extrasBurgerCategory });
            model.Toppings.AddRange(new[] { salami, patty, thinDough, thickDough });
            model.Products.AddRange(new[] { margheritta, hawaii, cheeseBurger });
            model.Customers.AddRange(new[] { pocztaPolska, google, ted });
            model.EmployeeCategories.AddRange(new[] { chefCategory, deliverymanCategory });
            model.Employees.AddRange(new[] { chef1, chef2, deliveryman1 });
            model.CustomizedProducts.AddRange(new[] { customHawaii, customBurger1, customBurger2 });
            model.Orders.AddRange(new[] { order1, order2 });
            model.SaveChanges();
        }
Пример #27
0
        public ActionResult Create(EmployeeCategory employeeCategory)
        {
            if (ModelState.IsValid)
            {
                var employee = _employeeService.GetById((int)employeeCategory.EmployeeID);

                // Получаем все категории в отсортированном по убыванию порядке по полю закрытия
                var categoryList = _employeeCategoryService.Get(empls => empls.Where(x =>
                                                                                     x.EmployeeID == employeeCategory.EmployeeID &&
                                                                                     x.CategoryDateBegin >= employee.EnrollmentDate).OrderByDescending(x => x.CategoryDateEnd)
                                                                .ToList());
                // Проверяем на зыкрытость категории
                bool isOpenCategoryNotExists = (categoryList.Where(x => x.CategoryDateEnd == null).Count() == 0);

                if (isOpenCategoryNotExists)
                {
                    //Проверка на корректный ввод данных

                    if (((employee.EnrollmentDate == null) && (employee.DismissalDate == null)) ||
                        ((employee.EnrollmentDate == null) && (employee.DismissalDate != null)))
                    {
                        ModelState.AddModelError("Comments", "Нельзя создать категорию.");
                    }
                    else if ((employeeCategory.CategoryType == EmployeeCategoryType.Regular || employeeCategory.CategoryType == EmployeeCategoryType.Temporary) &&
                             !employeeCategory.EmploymentRatio.HasValue)
                    {
                        ModelState.AddModelError("EmploymentRatio", "Для выбранной категории необходимо указать % ставки.");
                    }
                    else if ((employeeCategory.CategoryType == EmployeeCategoryType.FreelancerHourly || employeeCategory.CategoryType == EmployeeCategoryType.FreelancerPiecework ||
                              employeeCategory.CategoryType == EmployeeCategoryType.ExtContragentEmployee) && employeeCategory.EmploymentRatio.HasValue)
                    {
                        ModelState.AddModelError("EmploymentRatio", "Для выбранной категории % ставки не указывается, укажите пустое значение % ставки.");
                    }
                    else if (employeeCategory.CategoryDateBegin == null)
                    {
                        ModelState.AddModelError("CategoryDateBegin", "Это поле должно быть заполнено.");
                    }
                    else if (employee.EnrollmentDate > employeeCategory.CategoryDateBegin)
                    {
                        ModelState.AddModelError("CategoryDateBegin", "В это время сотрудник не работал.");
                    }
                    else if (employeeCategory.CategoryDateBegin >= employeeCategory.CategoryDateEnd)
                    {
                        ModelState.AddModelError("CategoryDateEnd", "Дата окончания не может быть меньше или равна дате назначения.");
                    }
                    else if (employee.DismissalDate < employeeCategory.CategoryDateEnd)
                    {
                        ModelState.AddModelError("CategoryDateEnd", "В это время сотрудник был уволен.");
                    }
                    else
                    {
                        DateTime endDate;

                        if (categoryList.Count == 0)
                        {
                            endDate = employee.EnrollmentDate.Value;
                        }
                        else
                        {
                            endDate = categoryList.FirstOrDefault().CategoryDateEnd.Value.AddDays(1);
                        }

                        if (employeeCategory.CategoryDateBegin == endDate)
                        {
                            employeeCategory.CategoryDateBegin = endDate;
                        }
                        else
                        {
                            ModelState.AddModelError("CategoryDateBegin", "Допустимая дата " + endDate.ToShortDateString());
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("CategoryDateEnd", "Необходимо закрыть категорию для этого сотрудника.");
                }
            }

            if (ModelState.IsValid)
            {
                _employeeCategoryService.Add(employeeCategory);

                string returnUrl = Url.Action("Details", "Employee", new { id = employeeCategory.EmployeeID + "#employeecategory" }).Replace("%23", "#");
                return(new RedirectResult(returnUrl));
            }
            // ViewBag.EmploymentRatio = employeeCategory.EmploymentRatio.HasValue ? (double)employeeCategory.EmploymentRatio.Value : 1;
            ViewBag.EmploymentRatio = employeeCategory.EmploymentRatio.HasValue ? ((double)employeeCategory.EmploymentRatio.Value).ToString() : string.Empty;
            return(View(employeeCategory));
        }
Пример #28
0
 public object InsertEmployeeCategory(EmployeeCategory employeeCategory)
 {
     return(_employeeRepository.InsertEmployeeCategory(employeeCategory));
 }
Пример #29
0
 public object UpdateEmployeeCategory(EmployeeCategory employeeCategory)
 {
     return(_employeeRepository.UpdateEmployeeCategory(employeeCategory));
 }
Пример #30
0
        public ActionResult Edit(EmployeeCategory employeeCategory)
        {
            if (ModelState.IsValid)
            {
                if (employeeCategory.CategoryDateBegin == null)
                {
                    ModelState.AddModelError("CategoryDateBegin", "Это поле должно быть заполнено.");
                }
                else if ((employeeCategory.CategoryType == EmployeeCategoryType.Regular || employeeCategory.CategoryType == EmployeeCategoryType.Temporary) &&
                         !employeeCategory.EmploymentRatio.HasValue)
                {
                    ModelState.AddModelError("EmploymentRatio", "Для выбранной категории необходимо указать % ставки.");
                }
                else if ((employeeCategory.CategoryType == EmployeeCategoryType.FreelancerHourly || employeeCategory.CategoryType == EmployeeCategoryType.FreelancerPiecework ||
                          employeeCategory.CategoryType == EmployeeCategoryType.ExtContragentEmployee) && employeeCategory.EmploymentRatio.HasValue)
                {
                    ModelState.AddModelError("EmploymentRatio", "Для выбранной категории % ставки не указывается, укажите пустое значение % ставки.");
                }

                else
                {
                    var employee = _employeeService.GetById((int)employeeCategory.EmployeeID);

                    // Получаем все категории с данным EmployeeId
                    var categoryList = _employeeCategoryService.Get(empls => empls.Where(x =>
                                                                                         x.EmployeeID == employeeCategory.EmployeeID &&
                                                                                         x.CategoryDateBegin >= employee.EnrollmentDate).OrderBy(x => x.CategoryDateEnd)
                                                                    .AsNoTracking()
                                                                    .ToList());
                    // Получаем ещё неизмененный объект
                    var notChangeCategory = categoryList.Where(x => x.ID == employeeCategory.ID).FirstOrDefault();
                    // Смотрим есть ли незакрытые категории
                    var isOpenCategorieNotExis = (categoryList.Where(x => x.CategoryDateEnd == null).Count() == 0);
                    // Получаем первый объект из выборки
                    EmployeeCategory firstCategory = (!isOpenCategorieNotExis) ? categoryList.FirstOrDefault() : categoryList.LastOrDefault();

                    if (((employee.EnrollmentDate == null) && (employee.DismissalDate == null)) ||
                        ((employee.EnrollmentDate == null) && (employee.DismissalDate != null)) ||
                        firstCategory == null || notChangeCategory == null)
                    {
                        ModelState.AddModelError("Comments", "Нельзя редактировать категорию.");
                    }
                    else
                    {
                        // Если первый объект из thisCategoryInDB равен notChangeCategory, значит мы работает с последним объектом из категории сотрудника
                        if (firstCategory.ID == notChangeCategory.ID)
                        {
                            if (employee.EnrollmentDate > employeeCategory.CategoryDateBegin)
                            {
                                ModelState.AddModelError("CategoryDateBegin", "В это время сотрудник не работал.");
                            }
                            else if (employeeCategory.CategoryDateBegin >= employeeCategory.CategoryDateEnd)
                            {
                                ModelState.AddModelError("CategoryDateEnd", "Дата окончания не может быть меньше или равна дате назначения.");
                            }
                            else if (employee.DismissalDate < employeeCategory.CategoryDateEnd)
                            {
                                ModelState.AddModelError("CategoryDateEnd", "В это время сотрудник был уволен.");
                            }
                            else if (employeeCategory.CategoryDateBegin != notChangeCategory.CategoryDateBegin)
                            {
                                ModelState.AddModelError("CategoryDateBegin", "Допустимая дата " + notChangeCategory.CategoryDateBegin.Value.ToShortDateString());
                            }
                        }
                        else
                        {
                            if ((notChangeCategory.CategoryDateBegin != employeeCategory.CategoryDateBegin) ||
                                (notChangeCategory.CategoryDateEnd != employeeCategory.CategoryDateEnd))
                            {
                                ModelState.AddModelError("CategoryDateBegin", "Для данной категории поля с датой менять нельзя.");
                            }
                        }
                    }
                }
            }

            if (ModelState.IsValid)
            {
                _employeeCategoryService.Update(employeeCategory);

                string returnUrl = Url.Action("Details", "Employee", new { id = employeeCategory.EmployeeID + "#employeecategory" }).Replace("%23", "#");
                return(new RedirectResult(returnUrl));
            }

            ViewBag.EmployeeID      = new SelectList(_employeeService.Get(x => x.ToList()), "ID", "FullName", employeeCategory.EmployeeID);
            ViewBag.EmploymentRatio = employeeCategory.EmploymentRatio.HasValue ? ((double)employeeCategory.EmploymentRatio.Value).ToString() : string.Empty;
            return(View(employeeCategory));
        }