Esempio n. 1
0
        /// <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);
        }