コード例 #1
0
        protected void Application_Start()
        {
            AppDomain.CurrentDomain.FirstChanceException += CurrentDomainOnFirstChanceException;

            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //禁用X-AspNetMvc-Version头
            MvcHandler.DisableMvcResponseHeader = true;

            Task.Factory.StartNew(() =>
            {
                Database.SetInitializer(new CreateDatabaseIfNotExists <ReportDbContext>());
                Database.SetInitializer(new InitData());
                var count = new ReportDbContext().User.Count();

                if (RedisContext.RedisDatabase == null)
                {
                    try
                    {
                        RedisContext.RedisDatabase = ConnectionMultiplexer.Connect(RedisConnection).GetDatabase();
                    }
                    catch (Exception ex)
                    {
                        _logger.Error(ex);
                    }
                }
            });
        }
コード例 #2
0
        // Get List Of ReportAbViewModel completed with values per month
        public List <ReportAbViewModel> GetListReportAbViewModelsPerMonth(ReportDbContext context, DateTime date)
        {
            List <ReportAbViewModel> listaAbViewModel = GetListOfReportAbViewModelByTypeAb(context);
            List <AbonamentModel>    listaAbonamente  = GetAbonamentModelsByMonth(date, context);

            foreach (var item in listaAbViewModel)
            {
                if (item.Denumire == "Total")
                {
                    item.NrTotalAbonamente = listaAbonamente.Count;
                    foreach (var aabt in listaAbonamente)
                    {
                        item.TotalBani += aabt.TipAbonament.Pret;
                    }
                }
                else
                {
                    foreach (var tipAb in context.TipAbonamentModels)
                    {
                        if (item.Denumire == tipAb.Denumire)
                        {
                            List <AbonamentModel> listaAbDeUnTip = listaAbonamente.Where(elem => elem.TipAbonament.Denumire == item.Denumire).ToList();
                            item.NrTotalAbonamente = listaAbDeUnTip.Count;
                            foreach (var ab in listaAbDeUnTip)
                            {
                                item.TotalBani += ab.TipAbonament.Pret;
                            }
                        }
                        //listaAbViewModel.Add(new ReportAbViewModel { Denumire = item.Denumire });
                    }
                }
            }

            return(listaAbViewModel);
        }
コード例 #3
0
        // Update status Of Abonament
        // Verificam daca a expirat abonament (in functie de data)
        // Verificam daca a atins nr maxim de sedinte
        public void RefreshStatusAbonament(int abonamentID, ReportDbContext context)
        {
            AbonamentModel abonament = GetAbonamentByAbID(abonamentID, context);

            if (abonament == null)
            {
                return;
            }
            if (abonament.NrSedinteEfectuate >= abonament.TipAbonament.NrTotalSedinte)
            {
                abonament.StareAbonament = StareAbonament.Finalizat;
                context.Update(abonament);
                context.SaveChanges();
                return;
            }
            if (abonament.DataStop <= DateTime.Now)
            {
                abonament.StareAbonament = StareAbonament.Finalizat;
                context.Update(abonament);
                context.SaveChanges();
                return;
            }
            if ((abonament.DataStop - abonament.DataStart).TotalDays > 32)
            {
                abonament.StareAbonament = StareAbonament.Extins;
            }
            else
            {
                abonament.StareAbonament = StareAbonament.Activ;
            }

            context.Update(abonament);
            context.SaveChanges();
        }
コード例 #4
0
 public Handler(ReportDbContext dbContext, IMapper mapper, IMediator mediator, IMemoryCache cache)
 {
     _dbContext = dbContext;
     _mapper    = mapper;
     _mediator  = mediator;
     _cache     = cache;
 }
コード例 #5
0
        // Get Abonament By Year from Antrenament DB
        public List <AbonamentModel> GetAbonamentModelsByYear(DateTime date, ReportDbContext context)
        {
            List <AbonamentModel> listaAbonamente = context.AbonamentModels.Include(t => t.TipAbonament)
                                                    .Include(p => p.PersoanaModel).Where(m => m.DataStart.Year == date.Year).ToList();

            return(listaAbonamente);
        }
コード例 #6
0
        /// <summary>
        /// Возвращает источник данных для вложенного отчета.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="subReportSource"></param>
        /// <param name="parentReportOid"></param>
        /// <returns></returns>
        ReportSource GetSubReportSorce(ReportDbContext context, ReportSource subReportSource, Guid parentReportOid)
        {
            var subReportName = String.Empty;
            var subTypes      = new System.Collections.Generic.List <string>()
            {
                "trdp", "trdx", "trbp"
            };
            ParameterCollection parameters = subReportSource.Parameters;

            if (subReportSource is UriReportSource)
            {
                subReportName = ((UriReportSource)subReportSource).Uri;
            }
            else
            {
                subReportName = subReportSource.ToString();
            }

            subReportName = subReportName.Split('/').Last();

            if (!subTypes.Contains(subReportName.Split('.').Last()?.ToLower()))
            {
                return(subReportSource);
            }

            var subReport = _reportFileDBService.GetSubReportFile(context, parentReportOid, subReportName);

            return(GetReportSource(context, subReport, parentReportOid, parameters));
        }
コード例 #7
0
        public BaseEfTest()
        {
            var mock = new Mock <IDataBaseMain>();

            mock.Setup(main => main.ConntectionString).Returns(
                "Server=localhost;Port=3306;Database=monicacrm;User Id=RassvetAis;Password=RassvetLine6642965;TreatTinyAsBoolean=true;");
            _crmDbContext = new ReportDbContext(mock.Object);
        }
コード例 #8
0
 public ReportData(ReportDbContext reportDbContext, IReportManager reportManager, IAccessManager accessManager, IColumnCreater columnCreater, IButtonCreater buttonCreater)
 {
     _reportDbContext = reportDbContext;
     _reportManager   = reportManager;
     _accessManager   = accessManager;
     _columnCreater   = columnCreater;
     _buttonCreater   = buttonCreater;
 }
コード例 #9
0
 public CreatePersonReportsByLocationCommandHandler(ReportDbContext dbContext,
                                                    ILogger <CreatePersonReportsByLocationCommand> logger,
                                                    IBusPublisher busPublisher)
 {
     _logger       = logger;
     _busPublisher = busPublisher;
     _dbContext    = dbContext;
 }
コード例 #10
0
 public IdentityController(UserManager <IdentityUser> userManager, SignInManager <IdentityUser> signinManager, RoleManager <IdentityRole> roleManager, IEmailSender emailSender, ReportDbContext context)
 {
     _userManager   = userManager;
     _signinManager = signinManager;
     _roleManager   = roleManager;
     _emailSender   = emailSender;
     _context       = context;
 }
コード例 #11
0
 public HomeController(ILogger <HomeController> logger, ReportDbContext context, ReportService reportService, IWebHostEnvironment environment, IEmailSender emailSender)
 {
     _logger        = logger;
     _context       = context;
     _reportService = reportService;
     _env           = environment;
     _emailSender   = emailSender;
 }
コード例 #12
0
        public async Task <Tuple <List <SaleReportViewModel>, int> > SearchAsync(SaleReportRequestModel request)
        {
            ReportDbContext             db   = new ReportDbContext();
            BaseRepository <SaleReport> repo = new BaseRepository <SaleReport>(db);
            var service = new BaseService <SaleReport, SaleReportRequestModel, SaleReportViewModel>(repo);
            var tuple   = await service.SearchAsync(request);

            return(tuple);
        }
コード例 #13
0
        public HomeController(ILogger <HomeController> logger, AntrenamentService antrenamentService, ReportDbContext context)
        {
            _logger             = logger;
            _antrenamentService = antrenamentService;
            _context            = context;

            // Refresh Status for each not Finalised Abonament
            _antrenamentService.RefreshStatusAbonamentsActive(_context);
        }
コード例 #14
0
        // Update status Of Abonamente dupa zi
        public void RefreshStatusAbonamentsActive(ReportDbContext context)
        {
            var listaAbActive = GetListaAbActive(context).Result;

            foreach (var item in listaAbActive)
            {
                RefreshStatusAbonament(item.AbonamentModelID, context);
            }
        }
コード例 #15
0
 public TestController(ReportDbContext context, ILogger <TestController> logger, Auxiliar auxiliar)
 {
     _context  = context;
     _logger   = logger;
     _auxiliar = auxiliar;
     // log
     _logger.LogInformation("{data}<=>{Messege}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "TESTCONTROLLER constructor log information");
     _logger.LogError("{data}<=>{Messege}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "TESTCONTROLLER constructor log error");
     _logger.LogWarning("{data}<=>{Messege}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "TESTCONTROLLER constructor log warning");
 }
コード例 #16
0
        // Get Antrenament By Year from Antrenament DB
        public List <AntrenamentModel> GetAntrenamentModelsByYear(DateTime date, ReportDbContext context)
        {
            List <AntrenamentModel> listaAntrenamnete = context.AntrenamentModels.Where(m => m.Data.Year == date.Year).ToList();

            // Get List of Person By Antrenament
            foreach (var antrenament in listaAntrenamnete)
            {
                antrenament.ListaPersoane = GetListOfPersonByAntrenament(antrenament, context);
            }
            return(listaAntrenamnete);
        }
コード例 #17
0
        // Get List Of ReportAntrViewModel completed with values per year
        public List <ReportAntrViewModel> GetListReportAntrViewModelsPerYear(ReportDbContext context, DateTime date)
        {
            List <AntrenamentModel> listaTotalAntr   = GetAntrenamentModelsByYear(date, context);
            List <AntrenamentModel> listaTotalAntrGr = GetAntrenamentModelsByYear(date, context).Where(e => !e.IsPersonalTraining).ToList();
            List <AntrenamentModel> listaTotalAntrPT = GetAntrenamentModelsByYear(date, context).Where(e => e.IsPersonalTraining).ToList();

            double mediePersTotalAntr   = 0;
            double mediePersTotalAntrGr = 0;
            double mediePersTotalAntrPT = 0;

            foreach (var antrenament in listaTotalAntr)
            {
                if (antrenament.ListaPersoane != null && antrenament.ListaPersoane.Count > 0)
                {
                    mediePersTotalAntr += antrenament.ListaPersoane.Count;
                    if (!antrenament.IsPersonalTraining)
                    {
                        mediePersTotalAntrGr += antrenament.ListaPersoane.Count;
                    }
                    else
                    {
                        mediePersTotalAntrPT += antrenament.ListaPersoane.Count;
                    }
                }
            }

            if (listaTotalAntr.Count > 0)
            {
                mediePersTotalAntr /= listaTotalAntr.Count;
            }

            if (listaTotalAntrGr.Count > 0)
            {
                mediePersTotalAntrGr /= listaTotalAntrGr.Count;
            }

            if (listaTotalAntrPT.Count > 0)
            {
                mediePersTotalAntrPT /= listaTotalAntrPT.Count;
            }

            return(new List <ReportAntrViewModel>
            {
                new ReportAntrViewModel {
                    Denumire = "Total Antrenamente", NrTotalAntrenamente = listaTotalAntr.Count, MediePersPerAntr = mediePersTotalAntr
                },
                new ReportAntrViewModel {
                    Denumire = "Total Antrenamente Grupa", NrTotalAntrenamente = listaTotalAntrGr.Count, MediePersPerAntr = mediePersTotalAntrGr
                },
                new ReportAntrViewModel {
                    Denumire = "Total Antrenamente PT", NrTotalAntrenamente = listaTotalAntrPT.Count, MediePersPerAntr = mediePersTotalAntrPT
                }
            });
        }
コード例 #18
0
 public ReportCreatedHandler(ReportDbContext dbContext,
                             IBusPublisher busPublisher,
                             ILogger <ReportCreatedHandler> logger,
                             IPersonHttpService personHttpService,
                             ILocationHttpService locationHttpService)
 {
     _logger              = logger;
     _dbContext           = dbContext;
     _busPublisher        = busPublisher;
     _personHttpService   = personHttpService;
     _locationHttpService = locationHttpService;
 }
コード例 #19
0
        // Get string Text nr sedinte efectuate By PersonID
        public string GetNrSedinteEfByPersonID(int persoanaID, ReportDbContext context)
        {
            AbonamentModel abonament = GetAbonamentByLastPersonID(persoanaID, context);

            if (abonament == null)
            {
                return("null");
            }
            string text = $"{abonament.NrSedinteEfectuate} / {abonament.TipAbonament.NrTotalSedinte}";

            return(text);
        }
コード例 #20
0
        // Update Nr sedinte efectuate
        // Daca o persoana a fost adaugata la un antrenament
        public void UpdateNrSedinteEfAbonamentbyID(int nr, int abonamentID, ReportDbContext context)
        {
            var abonamentModel = context.AbonamentModels
                                 .Include(t => t.TipAbonament)
                                 .Include(a => a.PersoanaModel)
                                 .FirstOrDefault(m => m.AbonamentModelID == abonamentID);

            abonamentModel.NrSedinteEfectuate += nr;

            context.Update(abonamentModel);
            context.SaveChanges();
        }
コード例 #21
0
        /// <summary>
        /// Устанавливает истоники вложенных отчетов для книги.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="parentReportOid"></param>
        /// <param name="book"></param>
        void SetReportBookSorces(ReportDbContext context, Guid parentReportOid, ref ReportBook book)
        {
            var oldSources = book.ReportSources.ToArray();

            book.ReportSources.Clear();
            int count = oldSources.Count();

            for (int i = 0; i < count; i++)
            {
                book.ReportSources.Add(GetSubReportSorce(context, oldSources[i], parentReportOid));
            }
        }
コード例 #22
0
        // Get List Of ReportAbViewModel by types of Abonament plus Total of
        public List <ReportAbViewModel> GetListOfReportAbViewModelByTypeAb(ReportDbContext context)
        {
            List <ReportAbViewModel> lista = new List <ReportAbViewModel>();

            lista.Add(new ReportAbViewModel {
                Denumire = "Total"
            });
            foreach (var item in context.TipAbonamentModels)
            {
                lista.Add(new ReportAbViewModel {
                    Denumire = item.Denumire, TotalBani = 0
                });;
            }
            return(lista);
        }
コード例 #23
0
        protected override ReportSource ResolveReport(string reportName)
        {
            var guid = new Guid(reportName.Split('.')[0]);

            using (var context = new ReportDbContext())
            {
                var reportFile     = _reportFileDBService.GetFileAsNoTracking(context, guid);
                var reportPackager = new ReportPackager();

                using (var sourceStream = new MemoryStream(reportFile.Content))
                {
                    return(GetReportSource(context, reportFile, null));
                }
            }
        }
コード例 #24
0
        // Get Abonament By Person where is not Finished
        public AbonamentModel GetAbonamentByPersonID(int persoanaID, ReportDbContext context)
        {
            List <AbonamentModel> lista = context.AbonamentModels.Include(t => t.TipAbonament)
                                          .Include(p => p.PersoanaModel).ToList();
            AbonamentModel abonament = lista.LastOrDefault(p => p.PersoanaModelID == persoanaID && p.StareAbonament != StareAbonament.Finalizat);  /**/

            return(abonament);
        }

        // Get Abonament By Last Person , indiferent de stare abonament
        public AbonamentModel GetAbonamentByLastPersonID(int persoanaID, ReportDbContext context)
        {
            List <AbonamentModel> lista = context.AbonamentModels.Include(t => t.TipAbonament)
                                          .Include(p => p.PersoanaModel).ToList();
            AbonamentModel abonament = lista.LastOrDefault(p => p.PersoanaModelID == persoanaID);  /**/

            return(abonament);
        }
コード例 #25
0
        public bool DayStartAll(string shopId, DateTime date)
        {
            date = date.Date;
            DateTime yesterday = date.AddDays(-1).Date;

            ReportDbContext   rDb = new ReportDbContext();
            BusinessDbContext bDb = new BusinessDbContext();
            List <string>     ids = bDb.AccountHeads.Where(x => x.ShopId == shopId).Select(x => x.Id).ToList();

            foreach (var id in ids)
            {
                this.QuickUpdate(shopId, id, yesterday);
            }

            foreach (string id in ids)
            {
                var todayReport = this.GetReportObject(id, bDb);
                this.SetDefaults(todayReport, shopId, date);

                var yesterdayReport = rDb.AccountReports.Where(x => x.ShopId == shopId && x.AccountHeadId == id)
                                      .FirstOrDefault(x => DbFunctions.TruncateTime(x.Date) == yesterday);
                if (yesterdayReport != null)
                {
                    todayReport.AmountTotalStarting = yesterdayReport.AmountTotalEnding;
                }

                var todayExists = rDb.AccountReports.Any(
                    x => x.ShopId == shopId && x.AccountHeadId == id && DbFunctions.TruncateTime(x.Date) == date);
                if (todayExists)
                {
                    this.QuickUpdate(shopId, id, date);
                }
                else
                {
                    rDb.AccountReports.Add(todayReport);
                    rDb.SaveChanges();
                }
            }

            return(true);
        }
コード例 #26
0
        public bool QuickUpdate(DateTime date, string shopId)
        {
            BusinessDbContext db       = BusinessDbContext.Create();
            ReportDbContext   reportDb = new ReportDbContext();

            date = date.Date;

            var salesToday = db.Sales.Where(x => x.ShopId == shopId && DbFunctions.TruncateTime(x.Created) == date)
                             .ToList();

            var report = reportDb.SaleReports.Where(x => x.ShopId == shopId).FirstOrDefault(x => x.Date == date);

            if (report == null)
            {
                bool b = ShopStart(date, shopId);
            }

            List <SaleReport> allReports        = reportDb.SaleReports.Where(x => x.ShopId == shopId && DbFunctions.TruncateTime(x.Date) == date).ToList();
            SaleReport        reportSaleTypeAll = allReports.First(x => x.SaleType == SaleType.All);

            CalculateAmounts(reportSaleTypeAll, salesToday);
            reportSaleTypeAll.Modified = DateTime.Now;
            reportDb.Entry(reportSaleTypeAll).State = EntityState.Modified;
            SaleReport  reportDealerSale = allReports.First(x => x.SaleType == SaleType.DealerSale);
            List <Sale> dealerSalesToday = salesToday.Where(x => x.IsDealerSale).ToList();

            CalculateAmounts(reportDealerSale, dealerSalesToday);
            reportDealerSale.Modified = DateTime.Now;
            reportDb.Entry(reportDealerSale).State = EntityState.Modified;
            SaleReport  reportCustomerSale = allReports.First(x => x.SaleType == SaleType.CustomerSale);
            List <Sale> customerSalesToday = salesToday.Where(x => x.IsDealerSale == false).ToList();

            CalculateAmounts(reportCustomerSale, customerSalesToday);
            reportCustomerSale.Modified = DateTime.Now;
            reportDb.Entry(reportCustomerSale).State = EntityState.Modified;
            reportDb.SaveChanges();
            return(true);
        }
コード例 #27
0
        public bool DayStartAll(string shopId, DateTime startDate)
        {
            startDate = startDate.Date;
            DateTime yesterday = startDate.AddDays(-1).Date;

            DayEndUpdateAll(shopId, yesterday);

            ReportDbContext   rDb = new ReportDbContext();
            BusinessDbContext bDb = new BusinessDbContext();
            List <string>     ids = bDb.ProductDetails.Where(x => x.ShopId == shopId).Select(x => x.Id).ToList();

            foreach (string pId in ids)
            {
                ProductReport report = GetReportObject(pId, bDb);
                this.SetDefaults(report, shopId, startDate);

                ProductReport yesterdayReport = rDb.ProductReports.Where(x => x.ShopId == shopId && x.ProductDetailId == pId).FirstOrDefault(x => DbFunctions.TruncateTime(x.Date) == yesterday);
                if (yesterdayReport != null)
                {
                    report.QuantityStartingToday = yesterdayReport.QuantityEndingToday;
                }
                var todayExists = rDb.ProductReports.Any(
                    x => x.ShopId == shopId && x.ProductDetailId == pId && DbFunctions.TruncateTime(x.Date) == startDate);
                if (todayExists)
                {
                    this.QuickUpdate(shopId, pId, startDate);
                }
                else
                {
                    rDb.ProductReports.Add(report);
                    rDb.SaveChanges();
                }
            }

            return(true);
        }
コード例 #28
0
        public bool ShopStart(DateTime date, string shopId)
        {
            ReportDbContext reportDb = ReportDbContext.Create();

            date = date.Date;

            SaleReport report = reportDb.SaleReports.Where(x => x.ShopId == shopId).FirstOrDefault(x => x.Date == date);

            if (report == null)
            {
                report = new SaleReport {
                    SaleType = SaleType.All
                };
                this.SetDefaults(report, shopId, date);

                var dealerReport = new SaleReport {
                    SaleType = SaleType.DealerSale
                };
                this.SetDefaults(dealerReport, shopId, date);

                var customerReport = new SaleReport {
                    SaleType = SaleType.CustomerSale
                };
                this.SetDefaults(customerReport, shopId, date);

                var collection = new List <SaleReport>()
                {
                    report, dealerReport, customerReport
                };
                reportDb.SaleReports.AddRange(collection);
                int i = reportDb.SaveChanges();
                return(i > 0);
            }

            return(true);
        }
コード例 #29
0
 public BtnsAdapter(ReportDbContext crmDbContext)
 {
     _crmDbContext = crmDbContext;
 }
コード例 #30
0
 public Handler(ReportDbContext dbContext, IMapper mapper)
 {
     _dbContext = dbContext;
     _mapper    = mapper;
 }