public void Create(EmployeeRequest request)
        {
            using (var session = sessionFactory.CreateForEmployee(true))
            {
                try
                {
                    var now      = DateTime.Now;
                    var dbObject = new EmployeeDbObject
                    {
                        FirstName          = request.FirstName,
                        LastName           = request.LastName,
                        MiddleName         = request.MiddleName,
                        BirthdayDate       = request.BirthdayDate,
                        PassDate           = request.PassDate,
                        IsTemporary        = request.IsTemporary,
                        AdditionalDocsPath = request.AdditionalDocsPath,
                        PngPath            = request.PngPath,
                        DepartmentId       = request.DepartmentId
                    };

                    employeeRepository.Create(
                        session,
                        dbObject);

                    session.Commit();
                }
                catch (SqlException)
                {
                    session.Rollback();
                    throw;
                }
            }
        }
 private EmployeeView MapToView(EmployeeDbObject dbObject, IEnumerable <DictionaryItem> securityLevels)
 {
     return(new EmployeeView
     {
         Id = dbObject.Id,
         FirstName = dbObject.FirstName,
         LastName = dbObject.LastName,
         MiddleName = dbObject.MiddleName,
         BirthdayDate = dbObject.BirthdayDate,
         IsTemporary = dbObject.IsTemporary,
         Department = new DictionaryItem {
             Id = dbObject.DepartmentId, Name = dbObject.DepartmentName
         },
         SecurityLevel = securityLevels,
         FullName = $"{dbObject.LastName} {dbObject.FirstName} {dbObject.MiddleName}",
         LastStatusChangedDate = dbObject.LastChangedStatusDate,
         StatusId = dbObject.StatusId,
         StatusName = dbObject.StatusName
     });
 }
        public void Create(ISession session, EmployeeDbObject employee)
        {
            var parametrs = new
            {
                FirstName          = employee.FirstName,
                LastName           = employee.LastName,
                MiddleName         = employee.MiddleName,
                BirthdayDate       = employee.BirthdayDate,
                PassDate           = employee.PassDate,
                IsTemporary        = employee.IsTemporary,
                AdditionalDocsPath = employee.AdditionalDocsPath,
                PngPath            = employee.PngPath,
                DepartmentId       = employee.DepartmentId
            };

            const string query = @"
INSERT INTO dbo.Employee (FirstName, LastName, MiddleName, BirthdayDate, LastStatusChangedDate, PassDate, IsTemporary, DepartmentId, PngPath, AdditionalDocsPath, StatusId)
VALUES(@FirstName, @LastName, @MiddleName, @BirthdayDate, @LastChangedStatusDate, @PassDate, @IsTemporary, @DepartmentId, @PngPath, @AdditionalDocsPath, @StatusId)
";

            session.Execute(query, parametrs);
        }