public PropertyUpload(RealtyObjectsResponse realtyObjects) : base(realtyObjects)
 {
     PropertyId         = realtyObjects.RealtyObjectId;
     SectionNumber      = Helper.TryParseIntLog(realtyObjects.SectionName, "SectionName", logger);
     Floor              = realtyObjects.Floor;
     PlatformNumber     = Helper.TryParseIntLog(realtyObjects.FloorName, "FloorName", logger);
     BeforeBTINumber    = realtyObjects.Number;
     ProprtyTypeCode    = realtyObjects.RealtyObjectTypeId;
     Rooms              = realtyObjects.RoomQuantityName;
     PropertyStatusCode = realtyObjects.RealtyObjectStatusId;
 }
Esempio n. 2
0
        private async Task <T> SelectAsync <T>(RealtyObjectsResponse data)
        {
            IFlurlResponse responseHttp = await $"{_odata}?$select=mtr_propertyid,statuscode&$filter=mtr_propertyid eq '{data.RealtyObjectId}'".WithOAuthBearerToken(token.Content).GetAsync();
            string         responseBody = await responseHttp.GetStringAsync();

            if (!responseHttp.ResponseMessage.IsSuccessStatusCode && responseHttp.StatusCode != 401)
            {
                _logger.Error($"Bad select in the database, Message: {responseBody}, StatusCode: {responseHttp.StatusCode}, Json for request: {JsonConvert.SerializeObject(data)}");
            }
            else if (!responseHttp.ResponseMessage.IsSuccessStatusCode && responseHttp.StatusCode == 401)
            {
                await AuthorizeStart();

                return(await SelectAsync <T>(data));
            }

            return(JsonConvert.DeserializeObject <T>(responseBody));
        }
            public PropertyUpdate(RealtyObjectsResponse realtyObjects, int?status = 0, string propertyId = "")
            {
                PropertyId  = propertyId;
                Quantity    = Convert.ToInt32(realtyObjects.Area);
                Cost        = realtyObjects.Price;
                Price       = realtyObjects.Amount;
                SpaceDesign = Convert.ToInt32(realtyObjects.AreaProject);
                Name        = realtyObjects.Name;
                NumberBTI   = realtyObjects.NumberBTI;

                if (Decimal.TryParse(realtyObjects.AreaBTI, out decimal areaBTI))
                {
                    AreaBTI = areaBTI;
                }

                if (status != null)
                {
                    _status = status.Value;
                }

                PropertyStatusCode = realtyObjects.RealtyObjectStatusId;
            }
Esempio n. 4
0
        public async Task UpdateOrUploadAsync(RealtyObjectsResponse data)
        {
            if (data == null)
            {
                return;
            }

            ODataSelectPropertyRecord flurlSelect = await SelectAsync <ODataSelectPropertyRecord>(data);

            if (flurlSelect == null || flurlSelect?.Value == null || flurlSelect?.Value.Length == 0)
            {
                PropertyUpload propertyUpload = new PropertyUpload(data);
                await UploadAsync(propertyUpload).ConfigureAwait(false);
            }
            else
            {
                foreach (ODataSelectRecord property in flurlSelect.Value)
                {
                    PropertyUpdate propertyUpdate = new PropertyUpdate(data, status: property.Status, propertyId: property.Property);
                    await UpdateAsync(propertyUpdate).ConfigureAwait(false);
                }
            }
        }