예제 #1
0
        public HttpResponseMessage Post([FromBody] WaterConsumptionViewModel item)
        {
            try
            {
                var identity = (ClaimsIdentity)User.Identity;
                //Getting the ID value
                var ID      = Convert.ToInt64(identity.Claims.FirstOrDefault(c => c.Type == "loggedUserId").Value);
                var isAdmin = Convert.ToBoolean(identity.Claims.FirstOrDefault(c => c.Type == "isAdmin").Value);

                var entity = item.FromViewModel();
                if (!isAdmin)
                {
                    entity.UserId = ID;
                }

                if (entity.UniqueId.HasValue)
                {
                    _waterConsumptionService.Update(entity);
                }
                else
                {
                    _waterConsumptionService.Insert(entity);
                }

                return(Request.CreateResponse(System.Net.HttpStatusCode.Accepted));
            }
            catch (Exception)
            {
                return(Request.CreateResponse(System.Net.HttpStatusCode.InternalServerError));
            }
        }
 public static WaterConsumption FromViewModel(this WaterConsumptionViewModel viewModel)
 {
     return(new WaterConsumption
     {
         BathroomUnits = viewModel.BathroomUnits,
         KitchenUnits = viewModel.KitchenUnits,
         UniqueId = viewModel.Id,
         CreationDate = Convert.ToDateTime(viewModel.CreationDate),
         UserId = viewModel.UserId
     });
 }
예제 #3
0
        public async Task <WaterConsumptionModel> GetSingleWaterConsumption(int patientId, int waterId)
        {
            WaterConsumptionViewModel waterConsumption = null;

            using (SqlConnection sqlCOnnection = new SqlConnection(Environment.GetEnvironmentVariable("sqldb_connection")))
            {
                await sqlCOnnection.OpenAsync();

                var sqlStringCommand = $"SELECT w.*, u.short, u.unit " +
                                       $"FROM WaterConsumption AS w " +
                                       $"INNER JOIN WeightUnit AS u ON u.id = w.weight_unit_id " +
                                       $"WHERE w.id = @ID AND w.patient_id = @PATIENTID";

                using (SqlCommand sqlCommand = new SqlCommand(sqlStringCommand, sqlCOnnection))
                {
                    sqlCommand.Parameters.Add("@PATIENTID", SqlDbType.Int).Value = patientId;
                    sqlCommand.Parameters.Add("@ID", SqlDbType.Int).Value        = waterId;

                    using (SqlDataReader sqlDataReader = await sqlCommand.ExecuteReaderAsync())
                    {
                        try
                        {
                            while (await sqlDataReader.ReadAsync())
                            {
                                waterConsumption = new WaterConsumptionViewModel
                                {
                                    Id         = (int)sqlDataReader["id"],
                                    Amount     = (double)sqlDataReader["amount"],
                                    Date       = (DateTime)sqlDataReader["date"],
                                    PatientId  = (int)sqlDataReader["patient_id"],
                                    WeightUnit = new WeightUnitModel
                                    {
                                        Id    = (int)sqlDataReader["weight_unit_id"],
                                        Short = (string)sqlDataReader["short"],
                                        Unit  = (string)sqlDataReader["unit"]
                                    }
                                };
                            }
                        }
                        catch
                        {
                            waterConsumption = new WaterConsumptionViewModel
                            {
                                Error = true
                            };
                        }
                    }
                }
                sqlCOnnection.Close();
            }
            return(waterConsumption);
        }
예제 #4
0
        private async Task <List <WaterConsumptionViewModel> > ReadFromDataReaderAsync(SqlDataReader reader)
        {
            List <WaterConsumptionViewModel> waterConsumptionViews = new List <WaterConsumptionViewModel>();

            try
            {
                while (await reader.ReadAsync())
                {
                    WaterConsumptionViewModel waterConsumption = new WaterConsumptionViewModel
                    {
                        Id         = (int)reader["id"],
                        Amount     = (double)reader["amount"],
                        Date       = (DateTime)reader["date"],
                        PatientId  = (int)reader["patient_id"],
                        WeightUnit = new WeightUnitModel
                        {
                            Id    = (int)reader["weight_unit_id"],
                            Short = (string)reader["short"],
                            Unit  = (string)reader["unit"]
                        }
                    };
                    waterConsumptionViews.Add(waterConsumption);

                    try
                    {
                        MinumumRestriction = (int)reader["maxAmount"];
                    }
                    catch { }
                }
            }
            catch
            {
                WaterConsumptionViewModel waterConsumption = new WaterConsumptionViewModel
                {
                    Error = true
                };
                waterConsumptionViews.Add(waterConsumption);
            }
            return(waterConsumptionViews);
        }
예제 #5
0
        private void ReadFromDataReader(SqlDataReader reader)
        {
            waterConsumptions = new List <WaterConsumptionViewModel>();
            try
            {
                while (reader.Read())
                {
                    WaterConsumptionViewModel waterConsumption = new WaterConsumptionViewModel
                    {
                        Id         = (int)reader["id"],
                        Amount     = (double)reader["amount"],
                        Date       = (DateTime)reader["date"],
                        PatientId  = (int)reader["patient_id"],
                        WeightUnit = new WeightUnitModel
                        {
                            Id    = (int)reader["weight_unit_id"],
                            Short = (string)reader["short"],
                            Unit  = (string)reader["unit"]
                        }
                    };
                    waterConsumptions.Add(waterConsumption);

                    try
                    {
                        MinumumRestriction = (int)reader["maxAmount"];
                    }
                    catch { }
                }
            }
            catch (Exception e)
            {
                WaterConsumptionViewModel waterConsumption = new WaterConsumptionViewModel
                {
                    Error = true
                };
                waterConsumptions.Add(waterConsumption);
            }
        }