Skip to content

Instantly share code, notes, and snippets.

@sdilshod
Created March 6, 2018 08:41
Show Gist options
  • Save sdilshod/04c9e821e55fa2eb68903c84886437e6 to your computer and use it in GitHub Desktop.
Save sdilshod/04c9e821e55fa2eb68903c84886437e6 to your computer and use it in GitHub Desktop.
func (item *PriceRequestAction)FindRegionWS() *[]models.PriceResultItem{
results := []models.PriceResultItem{}
priceRequestAction := PriceRequestAction{}
copier.Copy(&priceRequestAction, item)
priceRequestAction.VisibleZoneId = 0
priceRequestAction.PriceRequest.Cross = true
priceRequestAction.CalledRegionWs = true
currentRegionId := item.PriceRequest.RegionId
if currentRegionId == 0 {
currentCustomer := db.Customer{}
item.DbClient.DbConnect.Find(&currentCustomer, item.PriceRequest.CustomerId)
currentRegionId = currentCustomer.RegionId
}
currentRegion := db.Region{}
item.DbClient.DbConnect.Find(&currentRegion, currentRegionId)
if currentRegion.IsFranchisee(){
price := db.Price{}
item.DbClient.DbConnect.Raw("select * from prices where web_service_id in(select id from web_services where type = 'WebService::RegionWS' and region_id = ? ) and active = 't'", currentRegionId).Find(&price)
if price.ID == 0 {
priceRequestAction.PriceRequest.RegionId = 0
priceRequestAction.PriceRequest.CustomerId = 0
priceRequestAction.VisibleZoneId = 0
}else{
priceCustomer := db.Customer{}
item.DbClient.DbConnect.Find(&priceCustomer, price.CustomerId) //self.price.customer
priceCustomerRegion := db.Region{}
item.DbClient.DbConnect.Find(&priceCustomerRegion, priceCustomer.RegionId) //self.price.customer.region
priceCustomerRegionCustomer := db.Customer{}
item.DbClient.DbConnect.Find(&priceCustomerRegionCustomer, priceCustomerRegion.CustomerId) //self.price.customer.region.customer
priceRequestAction.PriceRequest.CustomerId = priceCustomerRegionCustomer.ID
priceRequestAction.PriceRequest.RegionId = priceCustomerRegionCustomer.RegionId
priceRequestAction.PriceRequest.Cross = true
priceRequestAction.PriceIds = priceRequestAction.DbClient.GetPriceIdsForRequest(priceRequestAction.PriceRequest.RegionId, priceRequestAction.PriceRequest.CustomerId, priceRequestAction.StepId, priceRequestAction.DiscountTypeId, priceRequestAction.VisibleZoneId)
fmt.Println("priceRequestAction.PriceRequest.RegionId")
fmt.Println(priceRequestAction.PriceRequest.RegionId)
fmt.Println("priceRequestAction.PriceIds")
fmt.Println(priceRequestAction.PriceIds)
fmt.Println("priceRequestAction.PriceRequest.CustomerId")
fmt.Println(priceRequestAction.PriceRequest.CustomerId)
finRegionWsResult := priceRequestAction.Find()
results = append(results, *(finRegionWsResult)...)
}
}
return &results
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment