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); }
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(); } }
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))); }