public ActionResult AddDriver(IDriverInfo driverInfo) { PersonAccountDA account = GetPersonAccount(driverInfo); DriverAccountDA driverAccount = new DriverAccountDA { Person = account, PersonName = driverInfo.PersonName, CarBrand = driverInfo.CarBrand, CarColor = driverInfo.CarColor, CarNumber = driverInfo.CarNumber }; DriverInfoDA driver = new DriverInfoDA { PersonInfo = new PersonInfoDA { Latitude = driverInfo.CurrentLocationLatidude, Longitude = driverInfo.CurrentLocationLongidude, Person = account } }; _dataProxy.Session.Save(driver.PersonInfo); _dataProxy.Session.Save(driverAccount); _dataProxy.Session.Save(driver); return(ActionResult.ValidResult); }
private PersonAccountDA GetPersonAccount(IPersonInfo personInfo) { PersonAccountDA account = _dataProxy.Session.CreateCriteria <PersonAccountDA>().List <PersonAccountDA>().FirstOrDefault(p => p.Id == personInfo.Id); if (account == null) { account = new PersonAccountDA { Id = personInfo.Id, PhoneNumber = personInfo.PhoneNumber, SkypeNumber = personInfo.SkypeNumber }; _dataProxy.Session.Save(account); } return(account); }