private async Task <Ticket> CreateTicket(CommitTicketRequest request) { var pairsToBetIds = request.BetingPairs.Select(p => p.BetedPairId); var betablePairs = await _dataProvider.BetablePairs(pairsToBetIds); if (request.BetingPairs.Count != betablePairs.Count) { var betablePairsIds = betablePairs.Select(p => p.Id); var difference = pairsToBetIds.Except(betablePairsIds); throw new BetablePairsNotFound(difference); } var betedPairs = CreateBetedPairs(request, betablePairs).ToArray(); var ticket = new Ticket { BetedPairs = betedPairs, Stake = request.Stake, UserId = _currentUser.Id() }; CalculateQuota(ticket); _unitOfWork.Add(ticket); _unitOfWork.AddRange(ticket.BetedPairs); await _unitOfWork.SaveChanges(); return(ticket); }
public async Task <bool> SetUserRole(long userId, List <long> roleIds) { var userRoles = await(from ur in _userRoles where ur.UserId.Equals(userId) select ur).AsNoTracking().ToListAsync(); _uow.RemoveRange <UserRole>(userRoles); await _uow.SaveChangesAsync(); userRoles = new List <UserRole>(); foreach (var item in roleIds) { userRoles.Add(new UserRole() { RoleId = item, UserId = userId }); } _uow.AddRange <UserRole>(userRoles); var result = await _uow.SaveChangesAsync(); return(result > 0); }
public async Task AddRange(IEnumerable <LocationEntity> locations) { using IUnitOfWork unitOfWork = repository.CreateUnitOfWork(); unitOfWork.AddRange(locations); await unitOfWork.SaveChanges(); }
private static async Task SaveTrips(int assetId, List <TripEntity> trips, IUnitOfWork unitOfWork) { List <TripEntity> newTrips = trips.Where(x => x.Id == 0).ToList(); newTrips.ForEach(x => { x.StartLocation = null; x.EndLocation = null; x.AssetId = assetId; }); unitOfWork.AddRange(newTrips); await unitOfWork.SaveChanges(); }
public static async Task Initialize(IUnitOfWork unitOfWork) { var butter = new Product { RegularPrice = 0.8m }; var milk = new Product { RegularPrice = 1.15m }; var bread = new Product { RegularPrice = 1m }; unitOfWork.AddRange(butter, milk, bread); await unitOfWork.PersistChanges(); var discounts = new[] { new BasketDiscount { Id = 1, RequiredProductId = butter.Id, TargetProductId = bread.Id, RequiredPerOneDiscounted = 2, TargetProductDiscountedBy = 0.5m }, new BasketDiscount { Id = 2, RequiredProductId = milk.Id, TargetProductId = milk.Id, RequiredPerOneDiscounted = 3, TargetProductDiscountedBy = 1 }, }; discounts.ForEach(unitOfWork.Add); await unitOfWork.PersistChanges(); }
public virtual ActionResult CreateImageProduct(IEnumerable <HttpPostedFileBase> ImageProductAdditinal, int Id) { var model = _productService.GetById(Id: Id); var imageProductList = new List <ImageProduct>(); foreach (var item in ImageProductAdditinal) { if (item != null) { if (item.ContentLength > 0) { using (var img = Image.FromStream(item.InputStream)) { string fileName = TODO.CheckExistFile(Server.MapPath("~/Content/Images/Product/GallerySize/"), item.FileName); TODO.UploadImage(img, new Size(600, 600), Server.MapPath("~/Content/Images/Product/GallerySize/"), fileName); imageProductList.Add(new ImageProduct { Image = fileName, Product = model }); } } } } _unitOfWork.AddRange <ImageProduct>(imageProductList); if (_unitOfWork.SaveAllChanges() > 0) { return(RedirectToAction(actionName: MVC.admin.Product.ActionNames.ShowImageProduct, routeValues: new { Id = Id })); } else { TempData["createImageProduct"] = Helperalert.alert(new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.Dependencies), Status = AlertMode.info }); return(RedirectToAction(MVC.admin.Product.ActionNames.CreateImageProduct, new { Id = Id })); } }
public virtual PartialViewResult ComputeAndDeleteElmah ([Bind(Include = "Date,ErrorId,Message,Time,Remote_Addr,Http_Method,TakeCareIP", Exclude = "ExceptionType,StatusCode,URL,Script_Name,Login_User,Remote_User,Http_Accept")] IDictionary <string, ElmahViewModel> dictinaryViewModels) { try { var namesFiles = System.IO.Directory.GetFiles(Server.MapPath("~/App_Data/ErrorsLog/"), "*.xml", SearchOption.TopDirectoryOnly); var listElmah = new List <ElmahModel>(); foreach (var item in dictinaryViewModels) { if (item.Value.TakeCareIP) { listElmah.Add(new ElmahModel { Date = item.Value.Date, HttpMethod = item.Value.Http_Method, IP = item.Value.Remote_Addr, Message = item.Value.Message, Time = TimeSpan.Parse(item.Value.Time) }); } string name = namesFiles.Where(x => x.Contains(item.Value.ErrorId)). Select(x => x).FirstOrDefault(); if (System.IO.File.Exists(Server.MapPath("~/App_Data/ErrorsLog/" + Path.GetFileName(name)))) { System.IO.File.Delete(Server.MapPath("~/App_Data/ErrorsLog/" + Path.GetFileName(name))); } } if (listElmah.Count() > 0) { _unitOfWork.AddRange <ElmahModel>(listElmah); if (_unitOfWork.SaveAllChanges() > 0) { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.DeleteInsertElmah), Status = AlertMode.success })); } else { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.FailDelete), Status = AlertMode.warning })); } } else { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.SuccsessDelete), Status = AlertMode.success })); } } catch { return(PartialView(MVC.admin.Shared.Views._alert, new AlertViewModel { Alert = AlertOperation.SurveyOperation(StatusOperation.FailDelete), Status = AlertMode.warning })); } }
private async Task ApplyData(QuestionTemplateImportData data) { var templates = data.TemplateImportDtos.Select(e => Map(e, data)).ToArray(); await _unitOfWork.AddRange(templates); }