public MasterPresenter(IMasterView masterView = null)
        {
            this.masterView = masterView;

            db = new PortalAukcyjnyEntities();

            if (IsUserLoggedIn())
            {
                currentUserId = GetCurrentUserId();
            }
            else
            {
                currentUserId = Guid.Empty;
            }

            currencyRepo   = new CurrencyExchangeRepository(db);
            auctionsRepo   = new AuctionsRepository(db);
            catRepo        = new CategoriesRepository(db);
            offersRepo     = new OffersRepository(db);
            usersRepo      = new UsersRepository(db);
            commentsRepo   = new CommentsRepository(db);
            observersRepo  = new ObserversRepository(db);
            shipmentsRepo  = new ShipmentsRepository(db);
            imagesRepo     = new ImagesRepository(db);
            buyedItemsRepo = new BuyedItemsRepository(db);
        }
 public DiscountsController(DiscountsRepository repo, OffersRepository offerRepo, BrandsRepository brandRepo, ProductGroupsRepository productGroupRepo, ProductsRepository productRepo)
 {
     _repo             = repo;
     _offerRepo        = offerRepo;
     _brandRepo        = brandRepo;
     _productGroupRepo = productGroupRepo;
     _productRepo      = productRepo;
 }
Exemplo n.º 3
0
 public UnitOfWork(AuctionDbContext context, IHostingEnvironment hostingEnvironment)
 {
     _context            = context;
     _hostingEnvironment = hostingEnvironment;
     Artworks            = new ArtworksRepository(context);
     Auctions            = new AuctionRepository(context, hostingEnvironment);
     Authors             = new AuthorsRepository(context);
     Categories          = new CategoryRepository(context);
     Users  = new UserRepository(context, hostingEnvironment);
     Offers = new OffersRepository(context);
 }
        public ActionResult Header()
        {
            var model = new OfferReportHeaderModel();

            if (string.IsNullOrEmpty(HttpContext.Request.Query["offerId"]))
            {
                return(PartialView(MVC.Views.Offers.Offers_.OfferReportHeader, model));
            }

            var offerId = Int32.Parse(HttpContext.Request.Query["offerId"]);

            using (var connection = SqlConnections.NewFor <OffersRow>())
            {
                var offer = new OffersRepository().Retrieve(connection, new Serenity.Services.RetrieveRequest
                {
                    EntityId       = offerId,
                    IncludeColumns = new HashSet <string> {
                        "Name", "Localizations"
                    }
                });

                model.OfferTitle = offer.Entity.Name;

                var languageId = 0;
                if (!HttpContext.Request.Query["languageId"].Any())
                {
                    return(PartialView(MVC.Views.Offers.Offers_.OfferReportHeader, model));
                }

                languageId = Int32.Parse(HttpContext.Request.Query["languageId"]);
                foreach (var offerLocalization in offer.Localizations)
                {
                    if (offerLocalization.Key == languageId.ToString() && !string.IsNullOrEmpty(((OffersRow)offerLocalization.Value).Name))
                    {
                        model.OfferTitle = ((OffersRow)offerLocalization.Value).Name;
                    }
                }
            }
            if (HttpContext.Request.Query["languageCode"].Any())
            {
                model.PageStringLocalized = Dependency.TryResolve <ILocalTextRegistry>()?.TryGet(HttpContext.Request.Query["languageCode"], "Site.Offers.OfferReportPage");
            }

            return(PartialView(MVC.Views.Offers.Offers_.OfferReportHeader, model));
        }
Exemplo n.º 5
0
        private void ConfigureServices()
        {
            ServiceCollection services = new ServiceCollection();

            services
            .AddSingleton <IDataStoreProvider>(this)
            .AddSingleton <UserRepository>()
            .AddSingleton <TasksRepository>()
            .AddSingleton <OffersRepository>();

            ServiceProvider provider = services.BuildServiceProvider();

            _userRepository   = provider.GetRequiredService <UserRepository>();
            _tasksRepository  = provider.GetRequiredService <TasksRepository>();
            _offersRepository = provider.GetRequiredService <OffersRepository>();

            _userRepository.IsFreshInstall = false;
            Directory.CreateDirectory(AppStatePath);
        }
        public ActionResult Index()
        {
            var model = new DashboardPageModel();

            using (var connection = SqlConnections.NewFor <OffersRow>())
            {
                var offerStatuses = new OfferStatusesRepository().List(connection, new ListRequest
                {
                    ColumnSelection = ColumnSelection.Details
                });
                model.OfferStatuses = offerStatuses.Entities;

                var softwareFrameworks = new SoftwareFrameworksRepository().List(connection, new ListRequest
                {
                    ColumnSelection = ColumnSelection.Details
                });
                model.SoftwareFrameworks = softwareFrameworks.Entities;

                var offers = new OffersRepository().List(connection, new ListRequest
                {
                    ColumnSelection = ColumnSelection.Details
                });
                model.Offers = offers.Entities;

                var taskStatuses = new TaskStatusesRepository().List(connection, new ListRequest
                {
                    ColumnSelection = ColumnSelection.Details
                });
                model.TaskStatuses = taskStatuses.Entities;

                var offerCategoryTasks = new OfferCategoryTasksRepository().List(connection, new ListRequest
                {
                    ColumnSelection = ColumnSelection.Details
                });
                model.OfferCategoryTasks = offerCategoryTasks.Entities;
            }
            return(View(MVC.Views.Common.Dashboard.DashboardIndex, model));
        }
        public async void NotifyContragents([FromBody] OfferNotificationRequest request)
        {
            IRepository <AspNetUsers> repository      = new ContragentUsersRepository();
            IEnumerable <AspNetUsers> contragentUsers = request.ToAll ?
                                                        repository.Get() :
                                                        repository.Get(c => request.ContragentsIds.Contains(c.ContragentId ?? 0));

            IRepository <Offer> offersRepository = new OffersRepository();
            Offer offer = offersRepository.Get(request.OfferId);

            string offerUrl = $"{Request.Scheme}://{Request.Host}/Offers#/off_edit/{request.OfferId}";

            IEmailMessageBuilder messageBuilder = new OfferNotifyMessageBuilder(offer, offerUrl);
            string subject = messageBuilder.BuildSubject();
            string message = messageBuilder.BuildBody();

            IEmailSender sender = new NotificationEmailSender();

            foreach (AspNetUsers user in contragentUsers)
            {
                await sender.SendEmailAsync(user.Email, subject, message);
            }
        }
Exemplo n.º 8
0
        public object GetData()
        {
            var data     = new OfferReportData();
            var language = OffersLanguageHelpers.getCurrentUIlanguageID(LanguageId).ToString();

            data.OfferReportTotalPriceString = Dependency.TryResolve <ILocalTextRegistry>()?.TryGet(LanguageId, "Site.Offers.OfferReportTotalPrice");
            data.OfferReportDiscountString   = Dependency.TryResolve <ILocalTextRegistry>()?.TryGet(LanguageId, "Db.Offers.Offers.Discount");

            using (var connection = SqlConnections.NewFor <OffersRow>())
            {
                var offer = new OffersRepository().Retrieve(connection, new Serenity.Services.RetrieveRequest
                {
                    EntityId       = OfferId,
                    IncludeColumns = new HashSet <string> {
                        "Localizations"
                    }
                });
                data.Offer = offer.Entity;

                if (offer.Localizations.Any())
                {
                    var localOffer = offer.Localizations.FirstOrDefault(s => s.Key == language);

                    if (localOffer.Value != null)
                    {
                        if (!string.IsNullOrEmpty(localOffer.Value.Name))
                        {
                            data.Offer.Name = localOffer.Value.Name;
                        }

                        if (!string.IsNullOrEmpty(localOffer.Value.AdditionalInfo))
                        {
                            data.Offer.AdditionalInfo = localOffer.Value.AdditionalInfo;
                        }
                    }
                }

                var offerCategories = new OfferCategoriesRepository().List(connection, new Serenity.Services.ListRequest
                {
                    IncludeColumns = new HashSet <string> {
                        "Localizations"
                    },
                    Criteria        = (new Criteria(OfferCategoriesRow.Fields.OfferId.Name) == OfferId),
                    ColumnSelection = Serenity.Services.ColumnSelection.Details
                });
                data.OfferCategories = offerCategories.Entities;
                if (offerCategories.Entities.Any())
                {
                    var offerCategoryIds        = offerCategories.Entities.Select(oc => oc.OfferCategoryId);
                    var listOfferCategoryLocals =
                        connection.List <OfferCategoriesLangRow>(
                            new Criteria(OfferCategoriesLangRow.Fields.OfferCategoryId).In(offerCategoryIds) &&
                            new Criteria(OfferCategoriesLangRow.Fields.LanguageId) == language);
                    foreach (var listOfferCategoryLocal in listOfferCategoryLocals)
                    {
                        var category = data.OfferCategories
                                       .FirstOrDefault(oc => oc.OfferCategoryId == listOfferCategoryLocal.OfferCategoryId);
                        category.CategoryNameReport = listOfferCategoryLocal.CategoryNameReport;
                    }
                }

                var offerCategoryTasks = new OfferCategoryTasksRepository().List(connection, new Serenity.Services.ListRequest
                {
                    IncludeColumns = new HashSet <string> {
                        "Localizations"
                    },
                    Criteria        = (new Criteria(OfferCategoryTasksRow.Fields.OfferCategoryOfferId.Name) == OfferId),
                    ColumnSelection = Serenity.Services.ColumnSelection.Details
                });
                data.OfferCategoryTasks = offerCategoryTasks.Entities;

                if (offerCategoryTasks.Entities.Any())
                {
                    var offerCategoryTaskIds        = offerCategoryTasks.Entities.Select(oc => oc.OfferCategoryTaskId);
                    var listOfferCategoryTaskLocals =
                        connection.List <OfferCategoryTasksLangRow>(
                            new Criteria(OfferCategoryTasksLangRow.Fields.OfferCategoryTaskId).In(offerCategoryTaskIds) &&
                            new Criteria(OfferCategoryTasksLangRow.Fields.LanguageId) == language);
                    foreach (var listOfferCategoryLocal in listOfferCategoryTaskLocals)
                    {
                        var categoryTask = data.OfferCategoryTasks
                                           .FirstOrDefault(oc => oc.OfferCategoryTaskId == listOfferCategoryLocal.OfferCategoryTaskId);
                        categoryTask.Name = listOfferCategoryLocal.Name;
                    }
                }
            }

            return(data);
        }
Exemplo n.º 9
0
 public OffersController(OffersRepository repo)
 {
     _repo = repo;
 }
Exemplo n.º 10
0
        public object GetOfferByCode(string id)
        {
            var offer = OffersRepository.GetWithInclude(u => u.OfferCode == id, t => t.OfferType);

            return(new { offer.OfferType.OfferTypeDesc, offer.OfferDescription, offer.IsActive, offer.MaxUseTime, offer.OfferValue, offer.ValidFrom, offer.ValidTo });
        }
Exemplo n.º 11
0
 public Offer Get(int id)
 {
     return(OffersRepository.Get(t => t.OfferId == id));
 }
Exemplo n.º 12
0
 public IEnumerable <Offer> GetOffers()
 {
     return(OffersRepository.GetAll());
 }