public ResponseMessage UpdateStructureType(AddStructureType structureType, int id)
        {
            ResponseMessage responseMessage = new ResponseMessage();

            responseMessage = _structureTypeRepository.UpdateStructureType(structureType, id);
            return(responseMessage);
        }
        public ResponseMessage CreateStructureType(AddStructureType structureType)
        {
            ResponseMessage responseMessage = new ResponseMessage();

            responseMessage = _structureTypeRepository.CreateStructureType(structureType);
            return(responseMessage);
        }
        public ResponseMessage CreateStructureType(AddStructureType structureType)
        {
            try {
                if (_context.StructureType.Where(x => x.Name == structureType.Name && x.IsDelete == false).Count() > 0)
                {
                    throw new ValueNotFoundException("Structure Type  Name already exist.");
                }
                ResponseMessage responseMessage = new ResponseMessage();
                StructureType   st = _mapper.Map <StructureType> (structureType);
                _context.StructureType.Add(st);
                _context.SaveChanges();

                responseMessage.Message = "Structure Type created sucessfully";
                return(responseMessage);
            } catch (Exception ex) {
                throw ex;
            }
        }
 public IActionResult Update(AddStructureType structureType, int id)
 {
     try {
         var response = _structureTypeService.UpdateStructureType(structureType, id);
         return(Ok(new { message = response.Message, code = 204 }));
     } catch (ValueNotFoundException e) {
         Util.LogError(e);
         return(StatusCode(StatusCodes.Status422UnprocessableEntity, new ErrorClass()
         {
             code = StatusCodes.Status422UnprocessableEntity.ToString(), message = e.Message
         }));
     } catch (Exception e) {
         Util.LogError(e);
         return(StatusCode(StatusCodes.Status500InternalServerError, new ErrorClass()
         {
             code = StatusCodes.Status500InternalServerError.ToString(), message = "Something went wrong"
         }));
     }
 }
        public ResponseMessage UpdateStructureType(AddStructureType structureType, int id)
        {
            ResponseMessage responseMessage = new ResponseMessage();

            try {
                var st = _context.StructureType.Where(x => x.Id == id && x.IsDelete == false).FirstOrDefault();
                if (st != null)
                {
                    if (_context.SubContractor.Where(x => x.Name == structureType.Name && x.Id != id && x.IsDelete == false).Count() > 0)
                    {
                        throw new ValueNotFoundException("Structure Type Name already exist.");
                    }
                    else
                    {
                        st.Name        = structureType.Name;
                        st.Description = structureType.Description;
                        st.IsActive    = structureType.IsActive;
                        _context.SaveChanges();

                        AuditLogs audit = new AuditLogs()
                        {
                            Action    = "Structure Type",
                            Message   = string.Format("Update Structure Type  successfully {0}", structureType.Name),
                            CreatedAt = DateTime.Now
                        };
                        _commonRepo.AuditLog(audit);
                        return(responseMessage = new ResponseMessage()
                        {
                            Message = "Vendor updated successfully.",
                        });
                    }
                }
                else
                {
                    throw new ValueNotFoundException("Vendor not available.");
                }
            } catch (Exception ex) {
                throw ex;
            }
        }