コード例 #1
0
        /// <summary>
        /// this method is used to add new department in the database
        /// </summary>
        /// <param name="departmentDetails">data of new department</param>
        /// <returns>returns newly added object</returns>
        public async Task <DepartmentUpdateDto> AddDepartmentsAsync(DepartmentCreateDto departmentDetails)
        {
            var getDepartment = await _departmentRepository.GetDepartmentByNameAsync(departmentDetails.Name);

            if (getDepartment == null)
            {
                var newDepartment = new Department
                {
                    Name      = departmentDetails.Name,
                    IsDeleted = false
                };
                _departmentRepository.AddDepartments(newDepartment);
                await _departmentRepository.SaveChangesAsync();

                return(new DepartmentUpdateDto {
                    Name = newDepartment.Name, Id = newDepartment.Id
                });
            }
            else
            {
                if (getDepartment.IsDeleted == true)
                {
                    getDepartment.IsDeleted = false;
                    await _departmentRepository.SaveChangesAsync();

                    return(new DepartmentUpdateDto {
                        Name = getDepartment.Name, Id = getDepartment.Id
                    });
                }
                else
                {
                    return(null);
                }
            }
        }