private IEntity ConvertToDomainModel(UserModel userModel) { var user = (User)_factory.GetEntity <IUser>(); user.UserName = userModel.UserName; user.Password = userModel.Password; user.UserRole = userModel.UserRole; user.IsAutheticated = userModel.IsAutheticated; user.AutheticationType = userModel.AutheticationType; return(user); }
private IEntity ConvertToDomainModel(CustomerModel customerModel) { var customer = (Customer)_factory.GetEntity <Customer>(); customer.User = (User)_factory.GetEntity <User>(); //customer.Addresses = new List<Address>(); #dirty fix //this code dosnt work for disconnected entities pls update later customer.DateOfBirth = customerModel.DateOfBirth; customer.FirstName = customerModel.FirstName; customer.MiddleName = customerModel.MiddleName; customer.LastName = customerModel.LastName; customer.Gender = customerModel.Gender; customer.User.UserName = customerModel.UserName; customer.User.Password = customerModel.Password; customer.User.UserRole = customerModel.UserRole; customer.User.IsAutheticated = customerModel.IsAutheticated; customer.User.AutheticationType = customerModel.AutheticationType; //foreach (var address in customerModel.Addresses) //{ // var a = customer.Addresses.Find(a_ => a_.AddressID == address.AddressID); // if (a == null) // { // a = (Address)_factory.GetEntity<IAddress>(); // customer.Addresses.Add(a); // } // a.AddressLine1 = address.AddressLine1; // a.AddressLine2 = address.AddressLine2; // a.AddressLine3 = address.AddressLine3; // a.AddressLine4 = address.AddressLine4; // a.AddressLine5 = address.AddressLine5; // a.AddressType = address.AddressType; // a.City = address.City; // a.Country = address.Country; // a.District = address.District; // a.LandMark = address.LandMark; // a.PinCode = address.PinCode; // //a.Product = null; // //a.Customer = customer; // a.AddressID = address.AddressID; //} //if (customer.Addresses.Count > customerModel.Addresses.Count) //{ // var addIds_ = customerModel.Addresses.Select(a => a.AddressID).ToList(); // foreach (var address in customer.Addresses) // { // if (!addIds_.Contains(address.AddressID)) // _persistence.Addresses.Delete(address); // } // customer.Addresses.RemoveAll(a => !addIds_.Contains(a.AddressID)); //} return(customer); }
private IEntity ConvertToDomainModel(CustomerModel customerModel) { var customer = _persistence.Customers.List().Where(c => c.User.UserName == customerModel.UserName).SingleOrDefault(); var user = default(User); if (customer is null) { customer = (Customer)_factory.GetEntity <ICustomer>(); user = (User)_factory.GetEntity <IUser>(); user.UserName = customerModel.UserName; user.Password = customerModel.Password; user.UserRole = customerModel.UserRole; user.AutheticationType = customerModel.AutheticationType; user.UserID = customerModel.UserID; customer.DateOfBirth = customerModel.DateOfBirth; customer.FirstName = customerModel.FirstName; customer.MiddleName = customerModel.MiddleName; customer.LastName = customerModel.LastName; customer.Gender = customerModel.Gender; customer.User = user; customer.CustomerID = customerModel.CustomerID; //customer.Addresses.Clear(); #dirty patches foreach (var address in customerModel.Addresses) { var a = (Address)_factory.GetEntity <IAddress>(); //customer.Addresses.Add(a); #dirty patches a.AddressLine1 = address.AddressLine1; a.AddressLine2 = address.AddressLine2; a.AddressLine3 = address.AddressLine3; a.AddressLine4 = address.AddressLine4; a.AddressLine5 = address.AddressLine5; a.AddressType = address.AddressType; a.City = address.City; a.Country = address.Country; a.District = address.District; a.LandMark = address.LandMark; a.PinCode = address.PinCode; //a.Product = null; //a.Customer = customer; a.AddressID = address.AddressID; } } else { throw new Exception(string.Format("Customer with username {0} already exits", customerModel.UserName)); } return(customer); }