Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        public async Task AddRange(IEnumerable <LocationEntity> locations)
        {
            using IUnitOfWork unitOfWork = repository.CreateUnitOfWork();

            unitOfWork.AddRange(locations);

            await unitOfWork.SaveChanges();
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 6
0
        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 }));
            }
        }
Exemplo n.º 7
0
        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
                }));
            }
        }
Exemplo n.º 8
0
 private async Task ApplyData(QuestionTemplateImportData data)
 {
     var templates = data.TemplateImportDtos.Select(e => Map(e, data)).ToArray();
     await _unitOfWork.AddRange(templates);
 }