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); }