Пример #1
0
        public async Task <bool> AddLogTimeAsync(LogTimeModel LogTime)
        {
            using (SqlConnection conn = GetConnection())
            {
                conn.Open();
                var transaction = conn.BeginTransaction();
                try
                {
                    var list = new List <ProjectTaskModel>();
                    DynamicParameters param = new DynamicParameters();
                    if (LogTime.LogId > 0)
                    {
                        param.Add("@LogId", LogTime.LogId);
                    }

                    param.Add("@UserId", LogTime.UserId);
                    param.Add("@LogDate", LogTime.LogDate);
                    param.Add("@StartTime", LogTime.StartTime);
                    param.Add("@EndTime", LogTime.EndTime);
                    param.Add("@CreatedBy", LogTime.CreatedBy);
                    int TaskId = await transaction.Connection.ExecuteScalarAsync <int>("sp_AddLogTime", param, transaction : transaction, commandType : CommandType.StoredProcedure);

                    transaction.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(false);
                }
            }
        }
Пример #2
0
        public async Task LogStart(string userName, LogTimeModel logTimeModel)
        {
            var timeStamp = logTimeModel.Timestamp !.Value;
            var workTime  = await GetWorkTime(userName, timeStamp);

            workTime.StartTimes.Add(timeStamp);

            await InsertOrUpdateWorkTimes(workTime);
        }
Пример #3
0
        public async Task <IActionResult> AddLogTime()
        {
            LogTimeModel logTimeModel = new LogTimeModel();
            var          result       = await this._repository.GetUsersAsync(null);

            logTimeModel.Users = result.Select(x => new SelectListItem {
                Text = x.FirstName + " " + x.LastName, Value = x.Id.ToString()
            }).ToList();
            return(View(logTimeModel));
        }
Пример #4
0
        public IActionResult LogTime(LogTimeModel model)
        {
            if (ModelState.IsValid)
            {
                var res = _userService.LogTime(model);

                return(res ? Ok(true) : Ok("Server error"));
            }

            return(Ok("Please, fill in all fields"));
        }
Пример #5
0
 public ActionResult Add(LogTimeModel model)
 {
     try
     {
         var logtime = LogTimeModelIMapper.MapToLogTime(model);
         LogTimeHandler.Add(logtime);
     }
     catch (Exception ex)
     {
         model.Error = ex.Message;
         return(View("Add", model));
     }
     return(RedirectToAction("Index"));
 }
Пример #6
0
        public bool LogTime(LogTimeModel model)
        {
            var projectPerfomrer = from pp in _context.ProjectPerformers
                                   join p in _context.Projects on model.ProjectPK equals p.ProjectPK
                                   join u in _context.Users on model.UserPK equals u.Id
                                   where pp.Performer.Id == u.Id && pp.Project.ProjectPK == p.ProjectPK
                                   select pp;

            var result = _context.ProjectPerformerHistories.Add(new ProjectPerformerHistory
            {
                ProjectPerformer = projectPerfomrer.First(),
                SpentHours       = model.LoggedTime,
                WorkDay          = model.Date
            });

            _context.SaveChanges();

            return(result != null);
        }
Пример #7
0
        public async Task <IActionResult> AddLogTime(LogTimeModel logTimeModel)
        {
            logTimeModel.CreatedBy = this.UserId;
            if (await this._repository.AddLogTimeAsync(logTimeModel))
            {
                logTimeModel = new LogTimeModel();
                var result = await this._repository.GetUsersAsync(null);

                ModelState.Clear();
                logTimeModel.Users = result.Select(x => new SelectListItem {
                    Text = x.FirstName + " " + x.LastName, Value = x.Id.ToString()
                }).ToList();
                ViewBag.Success = "Time has been logged";
            }
            else
            {
                ViewBag.Error = "There are error while saving";
            }
            return(View(logTimeModel));
        }
Пример #8
0
        private async Task OnActivityStateChanged(ActivityEventArgs eventArgs)
        {
            _retryCancellationTokenSource.Cancel();
            _retryCancellationTokenSource = new CancellationTokenSource();

            var logTimeModel = new LogTimeModel()
            {
                IsActive  = eventArgs.IsActive,
                Timestamp = eventArgs.TimeStamp,
            };

            var httpContent = new StringContent(
                JsonSerializer.Serialize(logTimeModel),
                Encoding.UTF8,
                "application/json");

            await _retryPolicy.ExecuteAsync(
                (ctx, ct) => _httpClient.PostAsync(FunctionMap.Get(Function.LogTime), httpContent, ct),
                _retryContext,
                _retryCancellationTokenSource.Token);
        }
Пример #9
0
        public ActionResult NewLogTime()
        {
            var l = new LogTimeModel();

            return(View(l));
        }
        public LogTimeModel TestPerformance()
        {
            LogTimeModel model = new LogTimeModel();
            Stopwatch    timer = new Stopwatch();

            var lstProduct1510      = productDal.GetListProduct15(10);
            var lstProduct15100     = productDal.GetListProduct15(100);
            var lstProduct151000    = productDal.GetListProduct15(1000);
            var lstProduct1510000   = productDal.GetListProduct15(10000);
            var lstProduct15100000  = productDal.GetListProduct15(100000);
            var lstProduct151000000 = productDal.GetListProduct15(1000000);

            var lstProduct5010      = productDal.GetListProduct50(10);
            var lstProduct50100     = productDal.GetListProduct50(100);
            var lstProduct501000    = productDal.GetListProduct50(1000);
            var lstProduct5010000   = productDal.GetListProduct50(10000);
            var lstProduct50100000  = productDal.GetListProduct50(100000);
            var lstProduct501000000 = productDal.GetListProduct50(1000000);

            // Case 1: Manual - 15 - 10
            timer.Start();
            var resultMap1510 = lstProduct1510.Select(x => new ProductModel15(x));

            timer.Stop();
            model.Manual15_10 = timer.ElapsedTicks;
            timer.Reset();

            // Case 2: Normal - 15 - 10
            timer.Start();
            var resultMapNormal1510 = mapper.Map <List <ProductDto15>, List <ProductModel15> >(lstProduct1510);

            timer.Stop();
            model.Normal15_10 = timer.ElapsedTicks;
            timer.Reset();

            // Case 3: Complex - 15 - 10
            timer.Start();
            var resultMapComplex1510 = mapper.Map <List <ProductDto15>, List <ProductModelComplex15> >(lstProduct1510);

            timer.Stop();
            model.Complex15_10 = timer.ElapsedTicks;
            timer.Reset();

            // Case 4: Manual - 15 - 100
            timer.Start();
            var resultMapManual15100 = lstProduct15100.Select(x => new ProductModel15(x));

            timer.Stop();
            model.Manual15_100 = timer.ElapsedTicks;
            timer.Reset();

            // Case 5: Normal - 15 - 100
            timer.Start();
            var resultMapNormal15100 = mapper.Map <List <ProductDto15>, List <ProductModel15> >(lstProduct15100);

            timer.Stop();
            model.Normal15_100 = timer.ElapsedTicks;
            timer.Reset();

            // Case 6: Complex - 15 - 100
            timer.Start();
            var resultMapComplex15100 = mapper.Map <List <ProductDto15>, List <ProductModelComplex15> >(lstProduct15100);

            timer.Stop();
            model.Complex15_100 = timer.ElapsedTicks;
            timer.Reset();

            // Case 7: Manual - 15 - 1000
            timer.Start();
            var resultMapManual151000 = lstProduct151000.Select(x => new ProductModel15(x));

            timer.Stop();
            model.Manual15_1000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 8: Normal - 15 - 1000
            timer.Start();
            var resultMapNormal151000 = mapper.Map <List <ProductDto15>, List <ProductModel15> >(lstProduct151000);

            timer.Stop();
            model.Normal15_1000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 9: Complex - 15 - 1000
            timer.Start();
            var resultMapComplex151000 = mapper.Map <List <ProductDto15>, List <ProductModelComplex15> >(lstProduct151000);

            timer.Stop();
            model.Complex15_1000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 10: Manual - 15 - 10000
            timer.Start();
            var resultMapManual1510000 = lstProduct1510000.Select(x => new ProductModel15(x));

            timer.Stop();
            model.Manual15_10000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 11: Normal - 15 - 10000
            timer.Start();
            var resultMapNormal1510000 = mapper.Map <List <ProductDto15>, List <ProductModel15> >(lstProduct1510000);

            timer.Stop();
            model.Normal15_10000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 12: Complex - 15 - 10000
            timer.Start();
            var resultMapComplex1510000 = mapper.Map <List <ProductDto15>, List <ProductModelComplex15> >(lstProduct1510000);

            timer.Stop();
            model.Complex15_10000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 13: Manual - 15 - 100000
            timer.Start();
            var resultMapManual15100000 = lstProduct15100000.Select(x => new ProductModel15(x));

            timer.Stop();
            model.Manual15_100000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 14: Normal - 15 - 100000
            timer.Start();
            var resultMapNormal15100000 = mapper.Map <List <ProductDto15>, List <ProductModel15> >(lstProduct15100000);

            timer.Stop();
            model.Normal15_100000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 15: Complex - 15 - 100000
            timer.Start();
            var resultMapComplex15100000 = mapper.Map <List <ProductDto15>, List <ProductModelComplex15> >(lstProduct15100000);

            timer.Stop();
            model.Complex15_100000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 16: Manual - 15 - 1000000
            timer.Start();
            var resultMapManual151000000 = lstProduct151000000.Select(x => new ProductModel15(x));

            timer.Stop();
            model.Manual15_1000000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 17: Normal - 15 - 1000000
            timer.Start();
            var resultMapNormal151000000 = mapper.Map <List <ProductDto15>, List <ProductModel15> >(lstProduct151000000);

            timer.Stop();
            model.Normal15_1000000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 18: Complex - 15 - 100000
            timer.Start();
            var resultMapComplex151000000 = mapper.Map <List <ProductDto15>, List <ProductModelComplex15> >(lstProduct151000000);

            timer.Stop();
            model.Complex15_1000000 = timer.ElapsedTicks;
            timer.Reset();


            /////////////////// 50 ////////////////////////////

            // Case 1: Manual - 50 - 10
            timer.Start();
            var resultMap5010 = lstProduct5010.Select(x => new ProductModel50(x));

            timer.Stop();
            model.Manual50_10 = timer.ElapsedTicks;
            timer.Reset();

            // Case 2: Normal - 50 - 10
            timer.Start();
            var resultMapNormal5010 = mapper.Map <List <ProductDto50>, List <ProductModel50> >(lstProduct5010);

            timer.Stop();
            model.Normal50_10 = timer.ElapsedTicks;
            timer.Reset();

            // Case 3: Complex - 50 - 10
            timer.Start();
            var resultMapComplex5010 = mapper.Map <List <ProductDto50>, List <ProductModelComplex50> >(lstProduct5010);

            timer.Stop();
            model.Complex50_10 = timer.ElapsedTicks;
            timer.Reset();

            // Case 4: Manual - 50 - 100
            timer.Start();
            var resultMapManual50100 = lstProduct50100.Select(x => new ProductModel50(x));

            timer.Stop();
            model.Manual50_100 = timer.ElapsedTicks;
            timer.Reset();

            // Case 5: Normal - 50 - 100
            timer.Start();
            var resultMapNormal50100 = mapper.Map <List <ProductDto50>, List <ProductModel50> >(lstProduct50100);

            timer.Stop();
            model.Normal50_100 = timer.ElapsedTicks;
            timer.Reset();

            // Case 6: Complex - 50 - 100
            timer.Start();
            var resultMapComplex50100 = mapper.Map <List <ProductDto50>, List <ProductModelComplex50> >(lstProduct50100);

            timer.Stop();
            model.Complex50_100 = timer.ElapsedTicks;
            timer.Reset();

            // Case 7: Manual - 50 - 1000
            timer.Start();
            var resultMapManual501000 = lstProduct501000.Select(x => new ProductModel50(x));

            timer.Stop();
            model.Manual50_1000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 8: Normal - 50 - 1000
            timer.Start();
            var resultMapNormal501000 = mapper.Map <List <ProductDto50>, List <ProductModel50> >(lstProduct501000);

            timer.Stop();
            model.Normal50_1000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 9: Complex - 50 - 1000
            timer.Start();
            var resultMapComplex501000 = mapper.Map <List <ProductDto50>, List <ProductModelComplex50> >(lstProduct501000);

            timer.Stop();
            model.Complex50_1000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 10: Manual - 50 - 10000
            timer.Start();
            var resultMapManual5010000 = lstProduct5010000.Select(x => new ProductModel50(x));

            timer.Stop();
            model.Manual50_10000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 11: Normal - 50 - 10000
            timer.Start();
            var resultMapNormal5010000 = mapper.Map <List <ProductDto50>, List <ProductModel50> >(lstProduct5010000);

            timer.Stop();
            model.Normal50_10000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 12: Complex - 50 - 10000
            timer.Start();
            var resultMapComplex5010000 = mapper.Map <List <ProductDto50>, List <ProductModelComplex50> >(lstProduct5010000);

            timer.Stop();
            model.Complex50_10000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 13: Manual - 50 - 100000
            timer.Start();
            var resultMapManual50100000 = lstProduct50100000.Select(x => new ProductModel50(x));

            timer.Stop();
            model.Manual50_100000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 14: Normal - 50 - 100000
            timer.Start();
            var resultMapNormal50100000 = mapper.Map <List <ProductDto50>, List <ProductModel50> >(lstProduct50100000);

            timer.Stop();
            model.Normal50_100000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 50: Complex - 50 - 100000
            timer.Start();
            var resultMapComplex50100000 = mapper.Map <List <ProductDto50>, List <ProductModelComplex50> >(lstProduct50100000);

            timer.Stop();
            model.Complex50_100000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 16: Manual - 50 - 1000000
            timer.Start();
            var resultMapManual501000000 = lstProduct501000000.Select(x => new ProductModel50(x));

            timer.Stop();
            model.Manual50_1000000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 17: Normal - 50 - 1000000
            timer.Start();
            var resultMapNormal501000000 = mapper.Map <List <ProductDto50>, List <ProductModel50> >(lstProduct501000000);

            timer.Stop();
            model.Normal50_1000000 = timer.ElapsedTicks;
            timer.Reset();

            // Case 18: Complex - 50 - 100000
            timer.Start();
            var resultMapComplex501000000 = mapper.Map <List <ProductDto50>, List <ProductModelComplex50> >(lstProduct501000000);

            timer.Stop();
            model.Complex50_1000000 = timer.ElapsedTicks;
            timer.Reset();

            return(model);
        }