コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <exception cref="IO.Swagger.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="body"> (optional)</param>
        /// <returns>ApiResponse of Object(void)</returns>
        public ApiResponse <Object> ApiTenantPostWithHttpInfo(CompleteTenantEvictionInfo body = null)
        {
            var    localVarPath         = "/api/Tenant";
            var    localVarPathParams   = new Dictionary <String, String>();
            var    localVarQueryParams  = new List <KeyValuePair <String, String> >();
            var    localVarHeaderParams = new Dictionary <String, String>(this.Configuration.DefaultHeader);
            var    localVarFormParams   = new Dictionary <String, String>();
            var    localVarFileParams   = new Dictionary <String, FileParameter>();
            Object localVarPostBody     = null;

            // to determine the Content-Type header
            String[] localVarHttpContentTypes = new String[] {
                "application/json-patch+json",
                "application/json",
                "text/json",
                "application/_*+json"
            };
            String localVarHttpContentType = this.Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);

            // to determine the Accept header
            String[] localVarHttpHeaderAccepts = new String[] {
            };
            String localVarHttpHeaderAccept    = this.Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);

            if (localVarHttpHeaderAccept != null)
            {
                localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
            }

            if (body != null && body.GetType() != typeof(byte[]))
            {
                localVarPostBody = this.Configuration.ApiClient.Serialize(body); // http body (model) parameter
            }
            else
            {
                localVarPostBody = body; // byte array
            }

            // make the HTTP request
            IRestResponse localVarResponse = (IRestResponse)this.Configuration.ApiClient.CallApi(localVarPath,
                                                                                                 Method.POST, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
                                                                                                 localVarPathParams, localVarHttpContentType);

            int localVarStatusCode = (int)localVarResponse.StatusCode;

            if (ExceptionFactory != null)
            {
                Exception exception = ExceptionFactory("ApiTenantPost", localVarResponse);
                if (exception != null)
                {
                    throw exception;
                }
            }

            return(new ApiResponse <Object>(localVarStatusCode,
                                            localVarResponse.Headers.ToDictionary(x => x.Name, x => string.Join(",", x.Value)),
                                            null));
        }
コード例 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <exception cref="IO.Swagger.Client.ApiException">Thrown when fails to make API call</exception>
 /// <param name="body"> (optional)</param>
 /// <returns>Task of void</returns>
 public async System.Threading.Tasks.Task ApiTenantPostAsync(CompleteTenantEvictionInfo body = null)
 {
     await ApiTenantPostAsyncWithHttpInfo(body);
 }
コード例 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <exception cref="IO.Swagger.Client.ApiException">Thrown when fails to make API call</exception>
 /// <param name="body"> (optional)</param>
 /// <returns></returns>
 public void ApiTenantPost(CompleteTenantEvictionInfo body = null)
 {
     ApiTenantPostWithHttpInfo(body);
 }
コード例 #4
0
        public async Task NewTenantAsync([FromBody] CompleteTenantEvictionInfo info)
        {
            TenantInfo   tenantInfo   = info.TenantInfo;
            AddressInfo  addressInfo  = info.AddressInfo;
            EvictionInfo evictionInfo = info.EvictionInfo;
            PreparerInfo preparerInfo = info.PreparerInfo;

            // Null-check for all required fields
            if (tenantInfo == null || addressInfo == null || evictionInfo == null)
            {
                // don't insert anything
            }

            if (tenantInfo.Name == null || tenantInfo.Email == null ||
                addressInfo.StreetAddress == null || addressInfo.City == null || addressInfo.County == null || addressInfo.ZipCode == 0 ||
                evictionInfo.DateOfEviction == null)
            {
                // don't insert anything
            }
            try
            {
                _dbContext.DBTenantInfo.Add(tenantInfo);
                await _dbContext.SaveChangesAsync();
            }
            // the only exception we should be getting here is the duplicate insertion - on which we just swallow the exception
            // we take care of the nulls above
            // rest we assume that the data is in correct format
            catch (Exception)
            {
                // swallow it
            }
            try
            {
                if (addressInfo.Latitude != 0.0D && addressInfo.Longitude != 0.0D)
                {
                    string key          = "keygoeshere";
                    string address      = addressInfo.StreetAddress + addressInfo.City + addressInfo.ZipCode;
                    Uri    geoReqUri    = new Uri(string.Format("http://dev.virtualearth.net/REST/v1/Locations?q={0}&key={1}", address, key));
                    var    client       = new HttpClient();
                    var    responseTask = await client.GetAsync(geoReqUri);

                    string responseString = await responseTask.Content.ReadAsStringAsync();

                    var coordinates = JObject.Parse(responseString)["resourceSets"][0]["resources"][0]["point"]["coordinates"].Children().ToList();
                    addressInfo.Latitude  = coordinates[0].ToObject <double>();
                    addressInfo.Longitude = coordinates[1].ToObject <double>();
                }
                _dbContext.DBAddressInfo.Add(addressInfo);
                await _dbContext.SaveChangesAsync();
            }
            catch (Exception)
            { }

            // Get TenantId and AddressId
            var tenantId = _dbContext.DBTenantInfo
                           .Where(t => t.Name == tenantInfo.Name && t.Email == tenantInfo.Email)
                           .Select(t => t.Id)
                           .FirstOrDefault();

            var addressId = _dbContext.DBAddressInfo
                            .Where(a => a.StreetAddress == addressInfo.StreetAddress && a.ZipCode == addressInfo.ZipCode)
                            .Select(a => a.Id)
                            .FirstOrDefault();

            evictionInfo.AddressId = addressId;
            evictionInfo.TenantId  = tenantId;

            if (preparerInfo != null && preparerInfo.Name != null && preparerInfo.Organization != null)
            {
                try
                {
                    _dbContext.DBPreparerInfo.Add(preparerInfo);
                    await _dbContext.SaveChangesAsync();

                    var preparerId = _dbContext.DBPreparerInfo
                                     .Where(p => p.Name == preparerInfo.Name && p.Organization == preparerInfo.Organization)
                                     .Select(p => p.Id)
                                     .FirstOrDefault();

                    evictionInfo.PreparerId = preparerInfo.Id;
                }
                catch (Exception)
                { }
            }
            try
            {
                _dbContext.DBEvictionInfo.Add(evictionInfo);
                await _dbContext.SaveChangesAsync();
            }
            catch (Exception)
            { }
        }