private IRentData GetSut() { IRentData sut = new RentData(); mocker.SetupGet(o => o.Rent).Returns(rentMocker.Object); sut.Context = mocker.Object; return(sut); }
void GenerateRentsAndSells() { foreach (CustomerData customer in customers) { int sellsCount = customer.SellsCountGenerator.Next(); Dictionary <Point, bool> sellPoints = new Dictionary <Point, bool>(); for (int i = 0; i < sellsCount; ++i) { Point point = customer.Points[random.Next(customer.Points.Count - 1)]; if (!sellPoints.ContainsKey(point)) { sellPoints.Add(point, true); } } for (int pointIndex = 0; pointIndex < customer.Points.Count - 1; ++pointIndex) { movieGenerator.ClearRepetitions(); Point point = customer.Points[pointIndex]; Point nextPoint = customer.Points[pointIndex + 1]; int rentsCount = customer.MoviesForRentCountGenerator.Next(); for (int i = 0; i < rentsCount; ++i) { RentData rent = new RentData(); rent.Movie = movies[moviesMap[movieGenerator.Next()]]; rent.Format = formats[customer.MovieFormatGenerator.Next()]; rent.Days = nextPoint.Day - point.Day - customer.OverdueDaysCountGenerator.Next(); point.Rents.Add(rent); } if (sellPoints.ContainsKey(point)) { GenerateSell(customer, point); } } Point lastPoint = customer.Points[customer.Points.Count - 1]; movieGenerator.ClearRepetitions(); int lastDayRentsCount = customer.LastDayRentsCount + customer.MoviesForRentCountGenerator.Next(); for (int i = 0; i < lastDayRentsCount; ++i) { RentData rent = new RentData(); rent.Days = daysCount - lastPoint.Day - customer.OverdueDaysCountLastDayGenerator.Next(); if (rent.Days < 1) { rent.Days = 1; } rent.Movie = movies[moviesMap[movieGenerator.Next()]]; rent.Format = formats[customer.MovieFormatGenerator.Next()]; lastPoint.Rents.Add(rent); } if (sellPoints.ContainsKey(lastPoint)) { GenerateSell(customer, lastPoint); } } }
void GenerateSell(CustomerData customer, Point point) { int sellsInReceiptCount = customer.SellsInReceiptCountGenerator.Next(); for (int k = 0; k < sellsInReceiptCount; ++k) { RentData sell = new RentData(); sell.Movie = movies[moviesMap[movieGenerator.Next()]]; sell.Format = formats[customer.MovieFormatGenerator.Next()]; point.Sells.Add(sell); } }
public void saveRentPropertyDetails(RentData rentData, string userAgent) { ////if (userAgent == null) //String userAgent = String.Empty; using (SqlCommand command = new SqlCommand()) { command.CommandType = CommandType.StoredProcedure; command.CommandText = "[Rent].[SavePropertyDetails]"; command.Parameters.Add("@ImageBase64", SqlDbType.VarChar, -1).Value = rentData.realestateData.Image; command.Parameters.Add("@Latitude", SqlDbType.Decimal).Value = rentData.realestateData.Latitude; command.Parameters.Add("@Longitude", SqlDbType.Decimal, 100).Value = rentData.realestateData.Longitude; command.Parameters.Add("@SurfaceLiving", SqlDbType.Int, 100).Value = rentData.realestateData.SurfaceLiving; //command.Parameters.Add("@LandSurface", SqlDbType.Int, 100).Value = realEstateData.LandSurface; command.Parameters.Add("@RoomNb", SqlDbType.Decimal).Value = rentData.realestateData.RoomNb; //command.Parameters.Add("@BathNb", SqlDbType.Int).Value = realEstateData.BathNb; command.Parameters.Add("@BuildYear", SqlDbType.VarChar).Value = rentData.realestateData.BuildYear; command.Parameters.Add("@Lift", SqlDbType.VarChar).Value = rentData.realestateData.Lift; command.Parameters.Add("@ObjectTypeCode", SqlDbType.VarChar).Value = rentData.realestateData.ObjectTypeCode; command.Parameters.Add("@MicroRating", SqlDbType.Decimal).Value = rentData.realestateData.MicroRating; command.Parameters.Add("@CatCode", SqlDbType.Int).Value = rentData.realestateData.CatCode; command.Parameters.Add("@AddressZip", SqlDbType.VarChar, 4).Value = rentData.realestateData.AddressZip; command.Parameters.Add("@AddressTown", SqlDbType.VarChar, 100).Value = rentData.realestateData.AddressTown; command.Parameters.Add("@AddressStreet", SqlDbType.VarChar, 100).Value = rentData.realestateData.AddressStreet; command.Parameters.Add("@Country", SqlDbType.VarChar, 100).Value = rentData.realestateData.Country; command.Parameters.Add("@DeviceId", SqlDbType.VarChar, 100).Value = rentData.realestateData.DeviceId; command.Parameters.Add("@UserId", SqlDbType.Int).Value = rentData.realestateData.UserId; command.Parameters.Add("@ImageSize", SqlDbType.Int).Value = rentData.realestateData.ImageSize; command.Parameters.Add("@ImageWidth", SqlDbType.Int).Value = rentData.realestateData.ImageWidth; command.Parameters.Add("@ImageHeight", SqlDbType.Int).Value = rentData.realestateData.ImageHeight; command.Parameters.Add("@RealEstateGuid", SqlDbType.UniqueIdentifier).Value = rentData.realestateRent.RealEstateId; command.Parameters.Add("@AppraisalValue", SqlDbType.BigInt).Value = rentData.realestateRent.AppraisalValue; command.Parameters.Add("@MinAppraisalValue", SqlDbType.BigInt).Value = rentData.realestateRent.MinAppraisalValue; command.Parameters.Add("@MaxAppraisalValue", SqlDbType.BigInt).Value = rentData.realestateRent.MaxAppraisalValue; command.Parameters.Add("@UserAgent", SqlDbType.VarChar, -1).Value = userAgent; DataLibrary.ExecuteNonQuery(command); } }
private void SaveRentPropertyDetails(RentData rentData, string userAgent) { RealEstateRepository realEstateRepository = new RealEstateRepository(); realEstateRepository.saveRentPropertyDetails(rentData, userAgent); }
private RentData MapRentBuisnessDataToDatabaseModel(string imageBase64, double?latitude, double?longitude, string deviceId, OfferedRentOutput offeredRentOutput) { RentData rentData = new RentData(); if (imageBase64 != null) { rentData.realestateData.Image = imageBase64; if (latitude != null) { rentData.realestateData.Latitude = (decimal)latitude; } if (longitude != null) { rentData.realestateData.Longitude = (decimal)longitude; } using (var ms = new MemoryStream(Convert.FromBase64String(imageBase64))) { System.Drawing.Image img = System.Drawing.Image.FromStream(ms); rentData.realestateData.ImageSize = ms.Length / 1024; rentData.realestateData.ImageWidth = img.Width; rentData.realestateData.ImageHeight = img.Height; } } rentData.realestateData.DeviceId = deviceId; /* Store Address */ rentData.realestateData.AddressZip = offeredRentOutput.zip; rentData.realestateData.AddressTown = offeredRentOutput.town; rentData.realestateData.AddressStreet = offeredRentOutput.street; rentData.realestateData.Country = offeredRentOutput.country; rentData.realestateData.CatCode = offeredRentOutput.CategoryCode; /* Store all calculated values */ rentData.realestateData.SurfaceLiving = offeredRentOutput.surfaceContract; //priceData.realestateData.LandSurface = offeredRentOutput.landSurface; if (offeredRentOutput.qualityMicro != null) { rentData.realestateData.MicroRating = (decimal)offeredRentOutput.qualityMicro; } if (offeredRentOutput.roomNb != null) { rentData.realestateData.RoomNb = (decimal)offeredRentOutput.roomNb; } rentData.realestateData.Lift = offeredRentOutput.lift; rentData.realestateData.ObjectTypeCode = offeredRentOutput.ObjectTypeCode; rentData.realestateData.BuildYear = offeredRentOutput.buildYear; //realEstateAppraise.RealEstateId = new Guid(); rentData.realestateRent.AppraisalValue = offeredRentOutput.appraisalValue; rentData.realestateRent.MinAppraisalValue = offeredRentOutput.minappraisalValue; rentData.realestateRent.MaxAppraisalValue = offeredRentOutput.maxappraisalValue; return(rentData); }
public OfferedRentOutput processImageLatLonForOfferedRent(string imageBase64, double?latitude, double?longitude, string deviceId, string userAgent) { OfferedRentOutput offeredRentOutput = new OfferedRentOutput(); GoogleVisionApi googleVisionApi = new GoogleVisionApi(); OfferedRentInput offeredRentInput = new OfferedRentInput(); ImageCategory imageCategory; string country; string countryCode; try { imageCategory = googleVisionApi.fetchCategoryForImage(imageBase64); } catch (Exception) { //imageBase64 = getImageAndConvertbase64(); //imageCategory = googleVisionApi.fetchCategoryForImage(imageBase64); imageCategory = new ImageCategory(); imageCategory.CategoryCode = -2; imageCategory.CategoryText = "Invalid Image"; } getAddressForLatLong(latitude ?? 0.0, longitude ?? 0.0); if (reverseGeoCodeResult.Country != "Switzerland") { country = "Switzerland"; countryCode = "CH"; offeredRentInput.address = new OfferedRentAddress() { address = ConfigurationManager.AppSettings["DefaultFormatedAddress"], zip = offeredRentOutput.zip = ConfigurationManager.AppSettings["DefaultZip"], town = offeredRentOutput.town = ConfigurationManager.AppSettings["DefaultTown"], street = offeredRentOutput.street = ConfigurationManager.AppSettings["DefaultStreet"] + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second, lat = Convert.ToDouble(ConfigurationManager.AppSettings["DefaultLatitude"]), lng = Convert.ToDouble(ConfigurationManager.AppSettings["DefaultLongitude"]), country = country }; offeredRentOutput.minappraisalValue = Convert.ToInt64(latitude.ToString().Replace(".", String.Empty)); offeredRentOutput.maxappraisalValue = Convert.ToInt64(longitude.ToString().Replace(".", String.Empty)); } else { country = reverseGeoCodeResult.Country; countryCode = "CH"; offeredRentInput.address = new OfferedRentAddress() { address = reverseGeoCodeResult.FormattedAddress, zip = offeredRentOutput.zip = reverseGeoCodeResult.Zip, town = offeredRentOutput.town = reverseGeoCodeResult.Town, street = offeredRentOutput.street = reverseGeoCodeResult.Street, lat = (double)latitude, lng = (double)longitude, country = country }; } if (imageCategory.CategoryCode != -1 && imageCategory.CategoryCode != -2) { getMicroRating(imageCategory.CategoryCode, offeredRentInput.address.lat ?? 0.0, offeredRentInput.address.lng ?? 0.0, countryCode); offeredRentInput.qualityMicro = offeredRentOutput.qualityMicro = ratingResponse.results.microRatingClass1To5 ?? 3; offeredRentInput.ortId = getOrtId(countryCode, offeredRentInput.address.lat ?? 0.0, offeredRentInput.address.lng ?? 0.0, "en-US"); } offeredRentOutput.country = country; offeredRentOutput.CategoryCode = imageCategory.CategoryCode; switch (imageCategory.CategoryCode) { case 5: offeredRentInput.surfaceContract = Convert.ToInt16(ConfigurationManager.AppSettings["A2SurfaceLivingDefault"]); //set default for A2 for Surface offeredRentInput.categoryCode = offeredRentOutput.CategoryCode; offeredRentOutput.category = imageCategory.CategoryText; //" Single family House"; break; case 6: offeredRentInput.surfaceContract = Convert.ToInt16(ConfigurationManager.AppSettings["A3SurfaceLivingDefault"]); offeredRentInput.categoryCode = offeredRentOutput.CategoryCode; offeredRentOutput.category = imageCategory.CategoryText; //" Condominium"; break; case -1: case -2: offeredRentOutput.category = imageCategory.CategoryText; break; default: break; } if (imageCategory.CategoryCode != -1 && imageCategory.CategoryCode != -2) { CalculateRent(offeredRentInput, offeredRentOutput); } //Saving Property Details// try { RentData rentData = MapRentBuisnessDataToDatabaseModel(imageBase64, latitude, longitude, deviceId, offeredRentOutput); SaveRentPropertyDetails(rentData, userAgent); } catch (Exception ex) { RealEstateRepository realEstateRepository = new RealEstateRepository(); realEstateRepository.saveException(ex.Message, Convert.ToString(ex.InnerException), ex.StackTrace); return(offeredRentOutput); } return(offeredRentOutput); }