public void CreateUserDefinedDataInFavorite(IEnumerable <UserDefinedAll> model, string name, Guid TempGuid)
        {
            var result = new OperationResult();

            using (var transcation = _context.Database.BeginTransaction())
            {
                try
                {
                    foreach (var i in model)
                    {
                        var product = new UserDefinedProduct
                        {
                            UserDefinedProductId = Guid.NewGuid(),
                            UserDefinedId        = TempGuid,
                            IsDelete             = false,
                            AccountName          = name,
                            ServiceItems         = i.ServiceItem,
                            RoomType             = i.RoomType,
                            Squarefeet           = i.Squarefeet,
                            Name       = i.Title,
                            Hour       = countHour(i.RoomType, i.Squarefeet),
                            Price      = Convert.ToDecimal(countHour(i.RoomType, i.Squarefeet)) * 500,
                            CreateTime = DateTime.UtcNow.AddHours(8),
                            CreateUser = name,
                            EditTime   = DateTime.UtcNow.AddHours(8),
                            EditUser   = name,
                        };
                        _repository.Create <UserDefinedProduct>(product);
                    }
                    _context.SaveChanges();
                    var userfavorite = new UserFavorite
                    {
                        FavoriteId       = Guid.NewGuid(),
                        AccountName      = name,
                        UserDefinedId    = TempGuid,
                        PackageProductId = null,
                        IsPackage        = false,
                        IsDelete         = false,
                        CreateTime       = DateTime.UtcNow.AddHours(8),
                        CreateUser       = name,
                        EditTime         = DateTime.UtcNow.AddHours(8),
                        EditUser         = name,
                    };


                    _repository.Create <UserFavorite>(userfavorite);
                    _context.SaveChanges();

                    result.IsSuccessful = true;
                    transcation.Commit();
                }
                catch (Exception ex)
                {
                    result.IsSuccessful = false;
                    result.Exception    = ex;
                    transcation.Rollback();
                }
            }
        }
        public OperationResult modifyUserDefined(IEnumerable <UserDefinedAll> userDefinedall, string name)
        {
            var result = new OperationResult();

            try
            {
                foreach (var item in userDefinedall)
                {
                    if (item.UserDefinedProductId == null)
                    {
                        var product = new UserDefinedProduct
                        {
                            UserDefinedProductId = Guid.NewGuid(),
                            UserDefinedId        = Guid.Parse(item.UserDefinedId),
                            IsDelete             = false,
                            AccountName          = name,
                            ServiceItems         = item.ServiceItem,
                            RoomType             = item.RoomType,
                            Squarefeet           = item.Squarefeet,
                            Name       = item.Title,
                            Hour       = countHour(item.RoomType, item.Squarefeet),
                            Price      = Convert.ToDecimal(countHour(item.RoomType, item.Squarefeet)) * 500,
                            CreateTime = DateTime.UtcNow.AddHours(8),
                            CreateUser = name,
                            EditTime   = DateTime.UtcNow.AddHours(8),
                            EditUser   = name,
                        };
                        _repository.Create <UserDefinedProduct>(product);
                    }
                    else
                    {
                        var singleitem = _repository.GetAll <UserDefinedProduct>().FirstOrDefault(x => x.UserDefinedProductId.ToString() == item.UserDefinedProductId);
                        singleitem.RoomType     = item.RoomType;
                        singleitem.Squarefeet   = item.Squarefeet;
                        singleitem.ServiceItems = item.ServiceItem;
                        singleitem.IsDelete     = item.IsDelete;
                        singleitem.Hour         = countHour(item.RoomType, item.Squarefeet);
                        singleitem.Price        = Convert.ToDecimal(countHour(item.RoomType, item.Squarefeet)) * 500;
                        singleitem.EditTime     = DateTime.UtcNow.AddHours(8);
                        singleitem.EditUser     = singleitem.AccountName;
                        _repository.Update <UserDefinedProduct>(singleitem);
                        _context.SaveChanges();
                        var itemlength = _repository.GetAll <UserDefinedProduct>().Count(x => x.UserDefinedId.ToString() == item.UserDefinedId && x.IsDelete == false);
                        if (itemlength == 0)
                        {
                            var removeitem = _repository.GetAll <UserFavorite>().FirstOrDefault(x => x.UserDefinedId.ToString() == item.UserDefinedId);
                            removeitem.IsDelete = true;
                            removeitem.EditTime = DateTime.UtcNow.AddHours(8);
                            removeitem.EditUser = name;
                            _repository.Update <UserFavorite>(removeitem);
                        }
                    }
                }

                _context.SaveChanges();
                result.IsSuccessful = true;
            }
            catch (Exception ex)
            {
                result.IsSuccessful = false;
                result.Exception    = ex;
            }
            return(result);
        }