Esempio n. 1
0
        public async Task <Calculations> Insert(CalculationDataModel model)
        {
            var result = userRepository.Get(x => x.UserName == model.UserName).Result;

            if (result == null)
            {
                var insert = new Users
                {
                    UserName  = model.UserName,
                    CreatedOn = DateTime.Now,
                    IsActive  = true
                };
                var inserUser = await userRepository.Insert(insert);

                model.UserId = inserUser.Id;
            }
            else
            {
                model.UserId = result.Id;
            }

            var calculation = new Calculations
            {
                UserId       = model.UserId,
                FirstNumber  = model.FirstNumber,
                SecondNumber = model.SecondNumber,
                Summation    = addition.SumOfTwoBigNumbers(model.FirstNumber, model.SecondNumber),
                CalculatedOn = DateTime.Now
            };

            context.Calculations.Add(calculation);
            await context.SaveChangesAsync();

            return(calculation);
        }
Esempio n. 2
0
        public CalculationDataModel GetCalculationDataModel(string tableName, int motorcycleId)
        {
            try
            {
                StringBuilder selectQuerySb = new StringBuilder();

                selectQuerySb.Append($"select first 1 skip 1 t.kilometersonchange, t.changedate from {tableName} t ");

                if (tableName == GlobalConstants.MantainanceType.OilFilter)
                {
                    selectQuerySb.Append($" where t.motorcycle_id = {GlobalVariables.CurrentBikeId} ");
                }
                else
                {
                    selectQuerySb.Append($" where t.motorcycledata_id = {GlobalVariables.CurrentBikeId} ");
                }

                selectQuerySb.Append($" order by t.changedate desc ");

                com.CommandText = selectQuerySb.ToString();

                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }

                CalculationDataModel calculationDataModel = new CalculationDataModel();

                using (var reader = com.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        calculationDataModel.ChangeDate         = DateTime.Parse(reader["changedate"].ToString());
                        calculationDataModel.KilometersOnChange = int.Parse(reader["kilometersonchange"].ToString());
                    }
                }

                return(calculationDataModel);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                con.Close();
            }
        }
Esempio n. 3
0
        private void AddKilometersAndMonthsDriven(string maintenanceType, int motorcycleId, string changeDate, int kilometersOnChange)
        {
            if (maintenanceService.IsNotLast(maintenanceType, motorcycleId))
            {
                CalculationDataModel calcDataModel = maintenanceService.GetCalculationDataModel(maintenanceType, motorcycleId);

                int monthsDriven     = maintenanceService.CalculateMonthsDriven(DateTime.ParseExact(changeDate, "dd.MM.yyyy", CultureInfo.InvariantCulture), calcDataModel.ChangeDate);
                int kilometersDriven = maintenanceService.CalculateKilometersDriven(kilometersOnChange, calcDataModel.KilometersOnChange);

                UpdateMaintenanceDataInputModel updateModel = new UpdateMaintenanceDataInputModel
                {
                    KilometersDriven = kilometersDriven,
                    MonthsDriven     = monthsDriven,
                    TableName        = maintenanceType,
                    MotorcycleId     = motorcycleId,
                };

                maintenanceService.SetAdditionalData(updateModel);
            }
        }
 public async Task <IActionResult> Insert([FromBody] CalculationDataModel model)
 {
     return(Ok(await calculationRepository.Insert(model)));
 }