/// <summary> /// add edit user profile /// </summary> /// <param name="MyProfile"></param> /// <returns></returns> public long AddEditUserProfile(VMProfile MyProfile) { UserProfileDomainModel objUserModel = new UserProfileDomainModel(); /**/ objUserModel.UserID = MyProfile.UserID; objUserModel.UserName = MyProfile.UserName; objUserModel.Email = MyProfile.Email; objUserModel.PhoneNumber = MyProfile.PhoneNumber; objUserModel.Gender = MyProfile.Gender; objUserModel.HavePassport = MyProfile.HavePassport; objUserModel.Married = MyProfile.Married; objUserModel.Description = MyProfile.Description; objUserModel.Status = MyProfile.Status; //user hobby if (MyProfile.UserHobby != null && MyProfile.UserHobby.Count > 0) { objUserModel.UserHobby = MyProfile.UserHobby.Select(obj => new UserHobbiesDomainModel() { UserHobbyID = obj.UserHobbyID, UserID = objUserModel.UserID, HobbyId = obj.HobbyId, IsDeleted = obj.UserHobbyID > 0 && obj.IsSelected == false }).ToList(); } //user address if (MyProfile.UserAddress != null && MyProfile.UserAddress.Count > 0) { objUserModel.UserAddress = MyProfile.UserAddress.Select(obj => new AddressesDomainModel() { AddressID = obj.AddressID, AddressType = obj.AddressType, UserID = objUserModel.UserID, Address = obj.Address, CityID = obj.CityID, AreaCode = obj.AreaCode }).ToList(); } /**/ if (objUserModel.UserID > 0) { IUserProfile.UpdateEntity(objUserModel); if (objUserModel.UserAddress != null) { var addressToUpdate = objUserModel.UserAddress.Where(x => x.AddressID > 0).ToList(); if (addressToUpdate != null && addressToUpdate.Count > 0) { IUserProfile.UpdateListOfEntity <AddressesDomainModel>(addressToUpdate); //foreach (var add in addressToUpdate) //{ // IUserProfile.UpdatedChildEntity<AddressesDomainModel>(add); //} } //var newAddress = objUserModel.UserAddress.Where(x => x.AddressID == 0).ToList(); //if (newAddress != null && newAddress.Count > 0) //{ // IUserProfile.AddChildEntityList<AddressesDomainModel>(newAddress); //} } if (objUserModel.UserHobby != null) { var hobbyToUpdate = objUserModel.UserHobby.Where(x => x.UserHobbyID > 0).ToList(); if (hobbyToUpdate != null && hobbyToUpdate.Count > 0) { IUserProfile.UpdateListOfEntity <UserHobbiesDomainModel>(hobbyToUpdate); } //IUserProfile.UpdateListOfEntity<UserHobbiesDomainModel>(objUserModel.UserHobby); //IUserProfile.UpdateListOfEntity<AddressesDomainModel>(objUserModel.UserAddress); } } else { //return IUserProfile.AddEntity(objUserModel); IUserProfile.AddEntity(objUserModel); } IUserProfile.SaveChanges(); return(objUserModel.UserID); }