public async Task <IActionResult> InsertContact(DailyInsert model)
        {
            var response = new ResponseModel();

            try
            {
                if (ModelState.IsValid && model.Latitude != 0 && model.Longitude != 0)
                {
                    response = await _da.DailyInsertion(model);

                    return(StatusCode(response.StatusCode, response));
                }
                if (model.Latitude == 0 && model.Longitude == 0)
                {
                    response.StatusCode = 400;
                    response.Message    = "Latitude and Longitude are 0, the data in invalid";
                    return(StatusCode(response.StatusCode, response));
                }
                response.StatusCode = 400;
                response.Message    = "One or more fields are not correct";
                return(StatusCode(response.StatusCode, response));
            }
            catch (Exception ex)
            {
                response.StatusCode = 500;
                response.Message    = ex.Message;
                return(StatusCode(response.StatusCode, response));
            }
        }
        public async Task <ResponseModel> DailyInsertion(DailyInsert model)
        {
            try
            {
                var query       = @"
                    INSERT INTO [DailyContact] (DispoContactId, DispoId, Prox, Province, Latitude, Longitude, Distance, DateContact)
                    VALUES (@DispoContactId, @DispoId, @Prox, @Province, @Latitude, @Longitude, @Distance, @DateContact)";
                var DateContact = DateTime.Parse(model.DateContact);
                var rows        = await _conn.ExecuteAsync(query, new { model.DispoContactId, model.DispoId, model.Prox, model.Province, model.Latitude, model.Longitude, model.Distance, DateContact });

                if (rows > 0)
                {
                    var findPositive  = @"SELECT * FROM Positive WHERE DispoId = @DispoContactId";
                    var queryPositive = await _conn.QueryFirstOrDefaultAsync <PositiveTable>(findPositive, new { model.DispoContactId });

                    if (queryPositive != null)
                    {
                        var scoreForDate     = ScoreForDate(queryPositive.DatePositive, DateContact);
                        var scoreForProx     = ScoreForProx(model.Prox);
                        var Score            = scoreForDate + scoreForProx;
                        var DateOfRelevation = DateContact;
                        await _conn.ExecuteAsync("INSERT INTO Scoring (Score, DispoId, DateOfRelevation) VALUES (@Score, @DispoId, @DateOfRelevation)", new { Score, model.DispoId, DateOfRelevation });

                        return(new ResponseModel {
                            StatusCode = 200, Message = "Insertion executed"
                        });
                    }
                    return(new ResponseModel {
                        StatusCode = 500, Message = "Insertion Not completed during Query"
                    });
                }
                else
                {
                    return(new ResponseModel {
                        StatusCode = 500, Message = "Insertion Not completed during Query"
                    });
                }
            }
            catch (Exception ex)
            {
                return(new ResponseModel {
                    StatusCode = 500, Message = ex.Message
                });
            }
        }