Beispiel #1
0
        public async Task AddServicer(ServicerDTO model, string operatorId)
        {
            if (!string.IsNullOrEmpty(model?.Address?.StreetAddress))
            {
                var lonLat = await _amapProxy.Geo(model.Address.StreetAddress);

                model.Address.Longitude = lonLat?.Longitude ?? 0;
                model.Address.Latitude  = lonLat?.Latitude ?? 0;
            }

            model.ApplicationId = string.IsNullOrEmpty(model.ApplicationId) ? "GOOIOS001" : model.ApplicationId;
            model.JobNumber     = string.IsNullOrEmpty(model.JobNumber) ? Guid.NewGuid().ToString() : model.JobNumber;

            var obj = ServicerFactory.CreateInstance(
                model.JobNumber,
                model.Name,
                model.TechnicalTitle,
                model.TechnicalGrade,
                model.Gender,
                model.BirthDay,
                model.Address,
                model.PersonalIntroduction,
                model.SincerityGoldRate,
                operatorId,
                model.IsSuspend,
                model.OrganizationId, model.Category, model.SubCategory, model.PortraitImageId, model.StartRelevantWorkTime, model.SincerityGold, model.UserName, model.ApplicationId);

            _servicerRepository.Add(obj);

            var ret = await _userProxy.SetServicerIdForUser(model.UserName, obj.Id);

            if (ret)
            {
                if (model.Images != null)
                {
                    foreach (var img in model.Images)
                    {
                        _servicerImageRepository.Add(new ServicerImage
                        {
                            CreatedOn  = DateTime.Now,
                            ImageId    = img.ImageId,
                            ServicerId = obj.Id
                        });
                    }
                }
                _dbUnitOfWork.Commit();
            }
        }