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; }
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; }
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); } } }