public async Task UpdateEmployeeInfo(EmployeeInfoViewModel model)
        {
            var employeeState = new EmployeeStateModel
            {
                EmployeeId    = model.EmployeeId,
                ShiftId       = (byte)model.ShiftId,
                LevelId       = model.LevelId,
                PositionId    = model.JobPositionId,
                JobFunctionId = model.JobFunctionId,
                BusStationId  = model.BusStationId,
                JoinDate      = model.JoinDate,
                ChangedDate   = DateTime.Now
            };

            var existEmployeeState = await _employeeStateService.ExistsAsync(model.EmployeeId);

            if (existEmployeeState)
            {
                await _employeeStateService.UpdateAsync(employeeState);
            }
            else
            {
                await _employeeStateService.AddAsync(employeeState);
            }
        }
        public async Task UpdateAsync(EmployeeStateModel model)
        {
            var entity = await _repository.GetSingleAsync(x => x.EmployeeId == model.EmployeeId);

            entity.PositionId    = model.PositionId;
            entity.JobFunctionId = model.JobFunctionId;
            entity.ShiftId       = model.ShiftId;
            entity.LevelId       = model.LevelId;
            entity.BusStationId  = model.BusStationId;
            entity.JoinDate      = model.JoinDate;
            entity.ChangedDate   = model.ChangedDate;

            await _repository.UpdateAsync(entity);
        }
        public async Task <EmployeeStateModel> AddAsync(EmployeeStateModel model)
        {
            var entity = new EmployeeState
            {
                PositionId    = model.PositionId,
                JobFunctionId = model.JobFunctionId,
                EmployeeId    = model.EmployeeId,
                ShiftId       = model.ShiftId,
                LevelId       = model.LevelId,
                BusStationId  = model.BusStationId,
                JoinDate      = model.JoinDate,
                ChangedDate   = model.ChangedDate
            };

            entity = await _repository.AddAsync(entity);

            return(_mapper.Map <EmployeeState, EmployeeStateModel>(entity));
        }
Esempio n. 4
0
        public async Task UpdateProfile(ProfileEditViewModel model)
        {
            if (model.EmployeeImage != null)
            {
                var employeeImage = new EmployeeImageModel
                {
                    ImageId    = model.ImageId,
                    EmployeeId = model.EmployeeId,
                };

                using (var memoryStream = new MemoryStream())
                {
                    await model.EmployeeImage.CopyToAsync(memoryStream);

                    employeeImage.Images = memoryStream.ToArray();
                }

                var existingImage = await _employeeImageService.ExistsAsync(model.EmployeeId);

                if (existingImage)
                {
                    await _employeeImageService.UpdateAsync(employeeImage);
                }
                else
                {
                    await _employeeImageService.AddAsync(employeeImage);
                }
            }

            // update employee
            var employee = new EmployeeModel
            {
                EmployeeId    = model.EmployeeId,
                GlobalId      = model.GlobalId,
                CardId        = model.CardId,
                Title         = model.Title,
                TitleThai     = model.TitleThai,
                EmployeeType  = model.EmployeeType,
                FirstName     = model.FirstName,
                LastName      = model.LastName,
                FirstNameThai = model.FirstNameThai,
                LastNameThai  = model.LastNameThai,
                Gender        = model.Gender,
                BirthDate     = model.BirthDate,
                HireDate      = model.HireDate,
                AvailableFlag = true,
                ChangedDate   = DateTime.Now,
            };

            await _employeeService.UpdateAsync(employee);

            // add or update employee state
            var employeeState = new EmployeeStateModel
            {
                EmployeeId    = model.EmployeeId,
                DepartmentId  = model.DepartmentId,
                SectionId     = model.SectionId,
                ShiftId       = (byte)model.ShiftId,
                LevelId       = model.LevelId,
                PositionId    = model.JobPositionId,
                JobFunctionId = model.JobFunctionId,
                BusStationId  = model.BusStationId,
                JoinDate      = model.JoinDate,
                ChangedDate   = DateTime.Now
            };

            var existEmployeeState = await _employeeStateService.ExistsAsync(model.EmployeeId);

            if (existEmployeeState)
            {
                await _employeeStateService.UpdateAsync(employeeState);
            }
            else
            {
                await _employeeStateService.AddAsync(employeeState);
            }

            // add or update address
            var address = new EmployeeAddressModel
            {
                EmployeeAddressId = model.EmployeeAddressId,
                EmployeeId        = model.EmployeeId,
                HomeAddress       = model.HomeAddress,
                City         = model.City,
                Country      = model.Country,
                PostalCode   = model.PostalCode,
                PhoneNumber  = model.PhoneNumber,
                EmailAddress = model.EmailAddress,
                ChangedDate  = DateTime.Now
            };

            if (address.EmployeeAddressId > 0)
            {
                await _employeeAddressService.UpdateAsync(address);
            }
            else
            {
                await _employeeAddressService.AddAsync(address);
            }
        }