Beispiel #1
0
        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);
        }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
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();
            }
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 public void Put([FromBody] ServicerDTO model)
 {
     _servicerAppService.UpdateServicer(model, UserId);
 }
Beispiel #6
0
 public void Post([FromBody] ServicerDTO model)
 {
     _servicerAppService.AddServicer(model, UserId);
 }