public async Task <ServicerDTO> GetServicer(string id) { ServicerDTO result = null; try { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("gooiosapikey", "768960bff18111e79916016898e9f885"); var reqUrl = $"http://fancyservice.gooios.com/api/servicer/v1/getbyid?id={id}"; var res = await client.GetAsync(reqUrl); if (res.IsSuccessStatusCode) { var resultStr = await res.Content.ReadAsStringAsync(); result = JsonConvert.DeserializeObject <ServicerDTO>(resultStr); } } } catch (Exception ex) { result = null; } return(result); }
public async Task UpdateServicer(ServicerDTO model, string operatorId) { var obj = _servicerRepository.Get(model.Id); if (obj == null) { return; } 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; } obj.Address = model.Address; obj.InitAddress(); obj.Category = model.Category; obj.SubCategory = model.SubCategory; obj.LastUpdBy = operatorId; obj.LastUpdOn = DateTime.Now; obj.BirthDay = model.BirthDay; obj.Gender = model.Gender; obj.JobNumber = model.JobNumber; obj.Name = model.Name; obj.PersonalIntroduction = model.PersonalIntroduction; obj.PortraitImageId = model.PortraitImageId; obj.SincerityGoldRate = model.SincerityGoldRate; obj.TechnicalGrade = model.TechnicalGrade; obj.TechnicalTitle = model.TechnicalTitle; obj.StartRelevantWorkTime = model.StartRelevantWorkTime; obj.SincerityGold = model.SincerityGold; obj.UserName = model.UserName; var imgs = _servicerImageRepository.GetFiltered(o => o.ServicerId == model.Id)?.ToList(); imgs?.ForEach(item => { _servicerImageRepository.Remove(item); }); model.Images?.ToList().ForEach(item => { _servicerImageRepository.Add(new ServicerImage { CreatedOn = DateTime.Now, ImageId = item.ImageId, ServicerId = model.Id }); }); _servicerRepository.Update(obj); var ret = await _userProxy.SetServicerIdForUser(model.UserName, obj.Id); if (ret) { _dbUnitOfWork.Commit(); } }
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(); } }
public async Task <ReservationDTO> GetReservation(string id) { var obj = _reservationRepository.Get(id); if (obj == null) { return(null); } var result = new ReservationDTO { AppointTime = obj.AppointTime, CustomerMobile = obj.CustomerMobile, CustomerName = obj.CustomerName, Id = obj.Id, ReservationNo = obj.ReservationNo, ServiceDestination = obj.ServiceDestination, ServiceId = obj.ServiceId ?? "", ServicerId = obj.ServicerId ?? "", SincerityGoldNeedToPay = obj.SincerityGoldNeedToPay, Status = obj.Status, OrganizationId = obj.OrganizationId, OrderId = obj.OrderId }; if (!string.IsNullOrEmpty(obj.ServiceId)) { var service = _serviceRepository.Get(obj.ServiceId); if (service != null) { service.ResolveAddress(); var organization = await _organizationServiceProxy.GetOrganizationById(service.OrganizationId); var serviceDTO = new ServiceDTO { Category = service.Category, Id = service.Id, Introduction = service.Introduction, OrganizationId = service.OrganizationId, ServeScope = service.ServeScope, SincerityGold = service.SincerityGold, Station = service.Station, Status = service.Status, SubCategory = service.SubCategory, Title = service.Title, OrganizationName = organization?.ShortName }; result.Service = serviceDTO; } } if (!string.IsNullOrEmpty(obj.ServicerId)) { var servicer = _servicerRepository.Get(obj.ServicerId); if (servicer != null) { servicer.ResolveAddress(); var servicerDTO = new ServicerDTO { Category = servicer.Category, Id = servicer.Id, PersonalIntroduction = servicer.PersonalIntroduction, OrganizationId = servicer.OrganizationId, Address = servicer.Address, BirthDay = servicer.BirthDay, Gender = servicer.Gender, IsSuspend = servicer.IsSuspend, SubCategory = servicer.SubCategory, JobNumber = servicer.JobNumber, PortraitImageId = servicer.PortraitImageId, Name = servicer.Name, SincerityGoldRate = servicer.SincerityGoldRate, StartRelevantWorkTime = servicer.StartRelevantWorkTime, TechnicalGrade = servicer.TechnicalGrade, TechnicalTitle = servicer.TechnicalTitle }; result.Servicer = servicerDTO; } } return(result); }
public void Put([FromBody] ServicerDTO model) { _servicerAppService.UpdateServicer(model, UserId); }
public void Post([FromBody] ServicerDTO model) { _servicerAppService.AddServicer(model, UserId); }