public async Task <IActionResult> Put(RCAModel RCA)
        {
            try
            {
                string   userID = User.Claims.First(c => c.Type == "UserID").Value;
                RCAModel Data   = await _context.rCAModels.FirstOrDefaultAsync(a => a.RCAID == RCA.RCAID && a.UserId == userID);

                Data.RCAQualitativeTree = RCA.RCAQualitativeTree;
                Data.RCAQuantitiveTree  = RCA.RCAQuantitiveTree;
                DateTime Date = DateTime.Now;
                var      Code = Convert.ToString(Date.TimeOfDay);
                Data.RCACode  = Code;
                Data.RCALabel = RCA.RCALabel;
                Data.RCAQualitativeFailureMode = RCA.RCAQualitativeFailureMode;
                Data.RCAQualitativeEquipment   = RCA.RCAQualitativeEquipment;
                Data.RCAQuantitiveFailureMode  = RCA.RCAQuantitiveFailureMode;
                Data.RCAQuantitiveEquipment    = RCA.RCAQuantitiveEquipment;
                _context.Entry(Data).State     = EntityState.Modified;
                await _context.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception exe)
            {
                return(BadRequest(exe.Message));
            }
        }
        public async Task <IActionResult> GetRecordById(int id)
        {
            try
            {
                string   userId   = User.Claims.First(c => c.Type == "UserID").Value;
                RCAModel RCAModel = await _context.rCAModels.FirstOrDefaultAsync(a => a.UserId == userId && a.RCAID == id);

                return(Ok(RCAModel));
            }
            catch (Exception exe)
            {
                return(BadRequest(exe.Message));
            }
        }
        public async Task <IActionResult> Delete(int id)
        {
            try
            {
                string   userID = User.Claims.First(c => c.Type == "UserID").Value;
                RCAModel Data   = await _context.rCAModels.FirstOrDefaultAsync(a => a.RCAID == id && a.UserId == userID);

                _context.rCAModels.Remove(Data);
                await _context.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task <IActionResult> PutOnlyTreeUpdate(RCAModel RCA)
        {
            try
            {
                string   userID = User.Claims.First(c => c.Type == "UserID").Value;
                RCAModel Data   = await _context.rCAModels.FirstOrDefaultAsync(a => a.RCAID == RCA.RCAID && a.UserId == userID);

                Data.RCAQualitativeTree    = RCA.RCAQualitativeTree;
                _context.Entry(Data).State = EntityState.Modified;
                await _context.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception exe)
            {
                return(BadRequest(exe.Message));
            }
        }
        public async Task <IActionResult> PostSaveNewRCA(RCAModel rcaModel)
        {
            try
            {
                DateTime Date = DateTime.Now;
                var      Code = Convert.ToString(Date.TimeOfDay);
                rcaModel.RCACode = Code;
                rcaModel.UserId  = User.Claims.First(c => c.Type == "UserID").Value;
                await _context.rCAModels.AddAsync(rcaModel);

                await _context.SaveChangesAsync();

                return(Ok());
            }
            catch (Exception exe)
            {
                return(BadRequest(exe.Message));
            }
        }