/// <summary>
        ///     Inserts the department.
        /// </summary>
        /// <param name="departmentEntity">The department entity.</param>
        /// <returns></returns>
        public DepartmentResponse InsertDepartment(DepartmentEntity departmentEntity)
        {
            var response = new DepartmentResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                if (!departmentEntity.Validate())
                {
                    foreach (var error in departmentEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                using (var scope = new TransactionScope())
                {
                    departmentEntity.DepartmentId = Guid.NewGuid().ToString();
                    response.Message = DepartmentDao.InsertDepartment(departmentEntity);
                    if (!string.IsNullOrEmpty(response.Message))
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        return(response);
                    }
                    scope.Complete();
                }
                response.DepartmentId = departmentEntity.DepartmentId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }