public dynamic Postmaterial([FromBody] MaterialRequestDto materialDto)
        {
            MaterialDto result = null;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                result = materialRepository.addMaterial(materialDto);
            }
            catch (Exception e)
            {
                if (materialRepository.materialExists(materialDto.id))
                {
                    return(Conflict());
                }
                else
                {
                    throw e;
                }
            }

            return(Ok(result));
        }
        public dynamic Putmaterial(int id, [FromBody] MaterialRequestDto materialDto)
        {
            MaterialDto result = null;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != materialDto.id)
            {
                return(BadRequest());
            }
            try
            {
                result = materialRepository.updateMaterial(id, materialDto);
            }
            catch (Exception e)
            {
                if (!materialRepository.materialExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw e;
                }
            }
            return(Ok(result));
        }
        internal MaterialDto addMaterial(MaterialRequestDto materialDto)
        {
            Material material = new Material();

            material.Id              = materialDto.id;
            material.Name            = materialDto.name;
            material.SupplierInforId = materialDto.supplierId;
            material.Barcode         = materialDto.barcode;
            material.TypeId          = materialDto.typeId;
            material.ChangeUnit      = materialDto.changeUnit;
            material.StatusId        = materialDto.statusId;
            material.Exp             = materialDto.exp;

            db.Material.Add(material);
            db.SaveChanges();

            return(getMaterial(materialDto.id));
        }
        internal MaterialDto updateMaterial(int id, MaterialRequestDto materialDto)
        {
            Material material = db.Material.Find(id);

            material.Name            = materialDto.name;
            material.SupplierInforId = materialDto.supplierId;
            material.Barcode         = materialDto.barcode;
            material.Id         = material.Barcode;
            material.TypeId     = materialDto.typeId;
            material.ChangeUnit = materialDto.changeUnit;
            material.StatusId   = materialDto.statusId;
            material.Exp        = materialDto.exp;

            db.Entry(material).State = Microsoft.EntityFrameworkCore.EntityState.Modified;

            db.SaveChanges();
            return(getMaterial(id));
        }