Example #1
0
        public static async Task <IActionResult> AddNewEngineer([HttpTrigger(AuthorizationLevel.Function, "post", Route = "engineers/")] HttpRequest req, ILogger log)
        {
            log.LogInformation($"Add new engineer request");

            try
            {
                string         _RequestBody = await new StreamReader(req.Body).ReadToEndAsync();
                EngineerEntity _Entity      = JsonConvert.DeserializeObject <EngineerEntity>(_RequestBody);

                if (_Entity.TeamID.Length > 0 && new EngineeringTeamsRepository().Get(_Entity.TeamID) == null)
                {
                    throw new Exception();
                }

                await EngineerRepo.Create(_Entity);
            }
            catch (Exception _Exception)
            {
                log.LogError("Error in Deserializing");
                log.LogError(_Exception.Message);
                return(new BadRequestResult());
            }

            return(new OkResult());
        }
Example #2
0
        public static async Task <IActionResult> UpdateEngineer([HttpTrigger(AuthorizationLevel.Function, "put", Route = "engineers/{customID}")] HttpRequest req, string customID, ILogger log)
        {
            log.LogInformation($"Update existing engineer request");

            try
            {
                string         _RequestBody = await new StreamReader(req.Body).ReadToEndAsync();
                EngineerEntity _Entity      = JsonConvert.DeserializeObject <EngineerEntity>(_RequestBody);

                if (await EngineerRepo.Get(customID) != null)
                {
                    if (_Entity.TeamID.Length > 0 && new EngineeringTeamsRepository().Get(_Entity.TeamID) == null)
                    {
                        return(new BadRequestObjectResult("Please provide a valid team."));
                    }

                    await EngineerRepo.Update(customID, _Entity);
                }
                else
                {
                    return(new NotFoundResult());
                }
            }
            catch (Exception _Exception)
            {
                log.LogError(_Exception.Message);
                return(new NotFoundResult());
            }

            return(new OkResult());
        }
 public async Task Update(string customID, EngineerEntity engineer)
 {
     var serializerSettings = new JsonSerializerSettings()
     {
         NullValueHandling    = NullValueHandling.Ignore,
         DefaultValueHandling = DefaultValueHandling.Ignore
     };
     var bson = new BsonDocument()
     {
         { "$set", BsonDocument.Parse(JsonConvert.SerializeObject(engineer, serializerSettings)) }
     };
     await _EngineersCollection.UpdateOneAsync(Builders <EngineerEntity> .Filter.Eq(eng => eng.CustomID, customID), bson);
 }
Example #4
0
        public static async Task <IActionResult> GetSingleEngineer([HttpTrigger(AuthorizationLevel.Function, "get", Route = "engineers/{customID}/")] HttpRequest req, string customID, ILogger log)
        {
            log.LogInformation($"GET single engineer {customID}");

            EngineerEntity _Result = null;

            try
            {
                _Result = await EngineerRepo.Get(customID);
            }
            catch (Exception _Exception)
            {
                log.LogError(_Exception.Message);
            }

            if (_Result == null)
            {
                return(new NotFoundResult());
            }

            return(new JsonResult(_Result));
        }
 public async Task Remove(EngineerEntity engineer)
 {
     await _EngineersCollection.DeleteOneAsync(eng => eng.Id == engineer.Id);
 }
        public async Task <EngineerEntity> Create(EngineerEntity engineer)
        {
            await _EngineersCollection.InsertOneAsync(engineer);

            return(engineer);
        }